Archive for 7月, 2010

検証したいRailsプラグインのメモ

Resque

Github謹製、Redisと連携するやつ。非同期ジョブ実行をサポートする。

ジョブ監視のWebUIがついてくる。Sinatraベースで、カスタマイズも楽そう。

また、cron風の定期実行ジョブを仕掛けるプラグインもあるようだ。

個人的に、webブラウザから簡単にジョブを登録したり監視したりする要件があるので、割と揃ってる感じが気になる。ぜひ試してみたいです。

DataFabric

DataFabric provides flexible database connection switching for ActiveRecord.

具体的にはshardingとreplicationを実現してくれる。一昔前はacts_as_readonlyableがメジャーだったのだが、最近はメンテナンスされていないようで、2.3.x系では動作が怪しいらしい(リンク先に貴重なパッチ情報があります)。

とはいってもこちらのDataFabricも、、最終更新が今年とは言え、1月だったりする。。。それでも、2.3系で動きやすいのがどっちかといえばDataFabricに軍配が上がるだろう。gemでインストールできるようだし。

なんにしても、実際動かしてみないことにはよくわからないので、こちらも検証記事でも書こうかなと思う。

 

Radiant CMSのExtensionを作る – タグ追加篇

目次

タグ追加の参考サイト

後者は、Radiant内で実際に使われているタグ定義、要はソースの一部。これが一番参考になる。チラチラ見ながら読み進めていただきたい。

Read the rest of this entry »

 

Radiant CMSのExtensionを作る – モデル追加湯けむり旅情篇

目次

セットアップ

radiantはgemで入れる。2010年7月現在、バージョン0.9.1が入るはず。

1
sudo gem install radiant

0.9.1は比較的安定している模様なので、今回はこれをベースに開発する。

今回は「お小遣い帳をCMSに追加する」エクステンションを開発する。

Read the rest of this entry »

 

returning は死んだ。 Object#tap を使おう

標記のとおり、死ぬみたいです。

crankharder

I’m curious to know what the rational is behind this?

rohit

You can now use tap.

正論過ぎて返す言葉もありませんね。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
require "rubygems"
require "active_support"
 
a1 = returning [] do |ary|
  ary << 'hoge'
  ary << 'fuga'
end
 
a2 = [].tap do |ary|
  ary << 'hoge'
  ary << 'fuga'
end
 
require "spec"
a1.should == a2
#=> true

確かに、タイピング量的にも、tapの方が少なくなりますね。でも、1.8.6みたいにtapのバックポートが無い場合とか、あとreturningを使いまくってる場合は…。

そもそもtapもreturningも4行ぐらいで実装できるので、以下のような config/initializers/returning_strikes_back.rb を作成すれば互換性を確保できるんじゃあないでしょうか。あまり薦めませんが。。

1
2
3
4
5
6
7
8
9
10
module ReturningStrikesBack
  def returning(value)
    yield(value)
    value
  end
end
 
class Object
  include ReturningStrikesBack
end

 

UA – 『KABA』

特に深く考えずに手にしたんだけど、すごくいいね! どこかで聞いたことのある唄のカバー集。

KABA / Array

ビクターエンタテインメント( 2010-06-23 )


「きっと言える」が良かったです。

* * *

UAで一番好きな唄。