module Mongoid::Verbalize::Fields::ClassMethods
Protected Instance Methods
create_accessors(name, meth, options = {})
click to toggle source
Monkey patch for Mongoid
method
Calls superclass method
# File lib/mongoid/verbalize/fields.rb, line 11 def create_accessors(name, meth, options = {}) # Let Mongoid do its thing super return unless options[:type] == Mongoid::Verbalize::TranslatedString field = fields[name] create_verbalized_field_getter(name, meth, field) create_verbalized_field_setter(name, meth, field) create_verbalized_translations_getter(name, meth, field) create_verbalized_translations_raw_getter(name, meth) create_verbalized_translations_raw_setter(name, meth) end
create_verbalized_field_getter(name, meth, field)
click to toggle source
# File lib/mongoid/verbalize/fields.rb, line 28 def create_verbalized_field_getter(name, meth, field) generated_methods.module_eval do define_method("#{meth}") do raw = read_attribute(name) field_value = field.demongoize(raw) field_value.current_locale_value(field.options[:use_default_if_empty]) end end end
create_verbalized_field_setter(name, meth, field)
click to toggle source
# File lib/mongoid/verbalize/fields.rb, line 38 def create_verbalized_field_setter(name, meth, field) generated_methods.module_eval do define_method("#{meth}=") do |value| raw = read_attribute(name) field_value = field.demongoize(raw) field_value.current_locale_value = value write_attribute(name, field_value) end end end
create_verbalized_translations_getter(name, meth, field)
click to toggle source
# File lib/mongoid/verbalize/fields.rb, line 49 def create_verbalized_translations_getter(name, meth, field) generated_methods.module_eval do define_method("#{meth}_translations") do field.demongoize(read_attribute(name)) end end end
create_verbalized_translations_raw_getter(name, meth)
click to toggle source
# File lib/mongoid/verbalize/fields.rb, line 57 def create_verbalized_translations_raw_getter(name, meth) generated_methods.module_eval do define_method("#{meth}_translations_raw") do read_attribute(name) end end end
create_verbalized_translations_raw_setter(name, meth)
click to toggle source
# File lib/mongoid/verbalize/fields.rb, line 65 def create_verbalized_translations_raw_setter(name, meth) generated_methods.module_eval do define_method("#{meth}_translations_raw=") do |values| write_attribute(name, values) end end end