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