Sha256: a5cb5742a73888be7a8884892109b4ba86b72744a54565a04975bb9298b03d02
Contents?: true
Size: 535 Bytes
Versions: 3
Compression:
Stored size: 535 Bytes
Contents
# # Mongoid fields extension # # field :foo, :delegate => {opts # Mongoid::Fields.option :delegate do |model, field, options| options = {} unless options.kind_of?(Hash) x_meth = options[:x] || :x y_meth = options[:y] || :y model.instance_eval do define_method x_meth do self[field.name][0]; end define_method y_meth do self[field.name][1]; end define_method "#{x_meth}=" do |arg| self[field.name][0] = arg end define_method "#{y_meth}=" do |arg| self[field.name][1] = arg end end end
Version data entries
3 entries across 3 versions & 1 rubygems