sutty/app/models/metadata_geo.rb

37 lines
597 B
Ruby

# frozen_string_literal: true
# Define un campo de coordenadas geográficas
class MetadataGeo < MetadataTemplate
def default_value
super || { 'lat' => nil, 'lng' => nil }
end
def empty?
value == default_value
end
def save
return true unless changed?
return true if empty?
self[:value] = value.transform_values(&:to_f)
self[:value] = encrypt(value) if private?
true
end
private
def encrypt(value)
value.transform_values do |v|
super v
end
end
def decrypt(value)
value.transform_values do |v|
super v
end
end
end