Sha256: 5d6382a007ec6dab93e9627d27a359db43eb76ea5726f0f6c59069c5a4cda3ab
Contents?: true
Size: 841 Bytes
Versions: 3
Compression:
Stored size: 841 Bytes
Contents
module Mongoid #:nodoc # This module defines behaviour for fields. module Fields module ClassMethods #:nodoc def create_accessors(name, meth, options = {}) generated_field_methods.module_eval do define_method(meth) { read_attribute(name) } define_method("#{meth}=") do |value| if options[:type] == Array && options[:geo] value = case value when String then value.split(",").map(&:to_f) when Array then value.map(&:to_f) else value end end write_attribute(name, value) end define_method("#{meth}?") do attr = read_attribute(name) (options[:type] == Boolean) ? attr == true : attr.present? end end end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
mongoid_geo-0.1.3 | lib/mongoid/geo/fields.rb |
mongoid_geo-0.1.2 | lib/mongoid/geo/fields.rb |
mongoid_geo-0.1.1 | lib/mongoid/geo/fields.rb |