今更ながら、method_missingを使ってみる
ActiveRecordなんかでも活用されているmethod_missingを自分で実際に使ってみる。使用方法としては、Hashへのメソッド的アクセス。
class Hoge attr_accessor :params def method_missing(name, *args) if /^(.+?)=$/ =~ name.to_s @params[$1.to_sym] = args[0] else @params[name] end end #method_missing end #Hoge hoge = Hoge.new hoge.params = {:foo => 'hogehoge', :bar => 'fugafuga'} hoge.foo #=> 'hogehoge' hoge.bar #=> 'fugafuga' hoge.foo = 'piyopiyo' hoge.params[:foo] #=> 'piyopiyo' hoge.foo #=> 'piyopiyo'