2007年12月06日

Ruby on Railsで単純アプリケーション開発4

acts_as_sequenced.rbを改造してみようと思いまして、ソースをハックしてやれ!とばかりにしてみたのですが。。。

わけわかんな〜い猫

class_eval <<-EOV
include ActiveRecord::Acts::List::InstanceMethods
def acts_as_sequenced_class
::#{self.name}
end
def position_column
'#{configuration[:column]}'
end
#{scope_condition_method}
before_create :assign_next_number_in_sequence
EOV

これってなにやってるの?
思ってる以上にC,C++,Java,PHPなどとは隔たりがありますね〜

とりあえず色々調べてみると、クラスの動的定義をやっているのですね。"eval"が付いているので、そこらへんは想像できるのですが、「<<-EOV」は?なんとなくヒアドキュメント的なものかなあと思って調べてみると。一応当たっているよう。

def acts_as_sequenced_class
::#{self.name}
end

これが、わかんないんです。クラス名を付けているのかなあ?調査継続です。
posted by 台北猫々 at 21:28| Comment(0) | TrackBack(0) | 技術メモ(Ruby)