lib/mongoid/geo/fields.rb in mongoid_geo-0.1.3 vs lib/mongoid/geo/fields.rb in mongoid_geo-0.1.4

- old
+ new

@@ -6,14 +6,18 @@ 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 + when String + value.split(",").map(&:to_f) + when Array + value.compact.extend(Mongoid::Geo::Point).to_points + else + !value.nil? ? value.extend(Mongoid::Geo::Point).to_point : value end end + value = value[0..1] if !value.nil? write_attribute(name, value) end define_method("#{meth}?") do attr = read_attribute(name) (options[:type] == Boolean) ? attr == true : attr.present? \ No newline at end of file