Roxy: Ruby代理库

Roxy是Ryan Daigle写的一个Ruby代理库,它可以让你轻松的向关联对象添加方法,就像has_many为关联对象添加的build和create方法那样,比如:

require 'roxy'
class Person
  include Roxy::Moxie
  attr_accessor :first, :last, :parents
  proxy :parents do
    def divorced?
      proxy_target.size > 1 and proxy_target.collect { |parent| parent.last }.uniq.size > 1
    end
  end
end

现在你就可以直接在person.parents上直接调用divorced?方法了,


-> person.parents.divorced? => true|false

当然如果只是简单的修改find条件,那么named_scope无疑是个更好的选择,更多信息及安装方法请看这里

This entry was posted in Ruby. Bookmark the permalink. Post a comment or leave a trackback: Trackback URL.

无觅相关文章插件,快速提升流量