iPhoneやiPodTouchでホームのボタンに登録する時に利用される、 AppleTouchIconとして、登録された画像を利用できるようにしました。

iPhone/iPodTouchをお持ちの方は、ぜひお試しください。

posted by Png genki on Fri 1 Aug 2008 at 22:18

named_scopeは大変素晴らしいRailsの新しい機能ですが、 おなじみのwith_scopeのように、 スコープつきのブロックを伴った利用ができないという問題がありました。 例えばこんな感じに利用しようとしてもうまくいきません。

   1  User.active do
   2    User.count # => Not run
   3  end
   4  
   5  User.active.with_scope do
   6    User.count #=> Not scoped
   7  end

そこで、昔ながらのwith_scopeと同じようにnamed_scopeを使えるようにする Gemプラグインを作りました。

with_named_scope

これを使うと、以下のように期待通りに動きます。

   1  User.active.with do
   2    User.count #=> User.active.count
   3  end

なかなか便利だと思うので、Rails本家にパッチを送っておきました。

Improved named_scope to be used like as with_scope

posted by Png genki on Fri 1 Aug 2008 at 21:16

以下の記事は、調査の結果現状のRuby on Rails では期待通りに動かないことがわかりました。


Rails-2.1の新機能であるnamed_scopeを使うと、従来のwith_scope では綺麗にかけなかったスコープの選択を簡潔に記述することができます。

   1  def gadgets_on_sidebar(place = 'index')
   2    case place.to_s
   3    when 'index'; Gadget.on_index
   4    when 'show'; Gadget.on_show
   5    else Gadget.all
   6    end.with_scope{active_gadgets + Gadget.mandatories}
   7  end

各スコープメソッドは、ActiveRecord::NamedScope::Scope オブジェクトを返すので、 これを条件にしたがって選択し、最後に.with_scope を呼んでスコープを適用します。


そこで、 with_named_scope というGemプラグインをつくり、 上述のように処理できるようにしました。 以下のようになります。

   1  def gadgets_on_sidebar(place = 'index')
   2    case place.to_s
   3    when 'index'; Gadget.on_index
   4    when 'show'; Gadget.on_show
   5    else Gadget.all
   6    end.with{active_gadgets + Gadget.mandatories}
   7  end

ということで、Rails本家にもpatchを送っておきました。

posted by Png genki on Fri 1 Aug 2008 at 13:52 with 3 comments

昨日ぐらいからdeliciousのBookmarkカウンターの画像が取得できなくなっていたのですが、このたびv2のAPIに対応することで問題を解決いたしました。

delicious/help/feeds

今までは画像を使っていましたが、今回はJSONPを使ってtotal_posts の値を取得しています。 以下のようなURLをSCRIPTタグで読み込めば良いようです。

http://feeds.delicious.com/v2/json/urlinfo/{md5}?callback={method}

methodで指定したJavaScriptのメソッドが呼び出され、 第一引数としてmd5に関連づけられた情報(urlinfo)の配列が渡されます。 今回は一つ目のurlinfototal_posts をブックマーク数として表示するようにしました。

posted by Png genki on Fri 1 Aug 2008 at 11:15

James Moore氏の sqlup を使って、従来のmusqldumpによるスナップショットの取得にくわえて、定期的にMySQLのバイナリログのバックアップを取るようにしました。

ログの取得間隔は1時間としています。 しばらく様子を見て調整する予定です。

今回の変更に際して、オリジナルのsqlupに若干修正を加える必要があったため、修正版をこちらに公開いたします。

よろしくお願いします。

posted by Png genki on Fri 1 Aug 2008 at 04:01
Contents
AppleTouchIconを設定するようにしました
with_named_scope: named_scopeを古き良きwith_scope風味に利用する
[更新]named_scopeでスコープの選択を綺麗に記述する方法
deliciousのfeeds API v2に対応しました
DBのバックアップを強化しました
Comments
dsjf: https://gist.github.com/6bf1bf2c3cbb5eb6e7a7 これ... '13-1
瀧内元気: おお、チェックしてみます。thx! '11-12
overisland: Reeder for iPhone もこの UI を実装していますね。 '11-12
瀧内元気: その情報は見たのですが、以下のサイトによると、現在はまた必要になってるっぽいんですよね。 ... '11-12
tkawa: http://devcenter.heroku.com/articles/rails31_he... '11-12
Services from s21g
twpro(ツイプロ)
Twitterプロフィールを快適検索
地価2009
土地の値段を調べてみよう
MyRestaurant
自分だけのレストラン手帳
Formula
ブログに数式を埋め込める数式コミュニティ