Module: Modelish::PropertyTranslations::ClassMethods
- Defined in:
- lib/modelish/property_translations.rb
Instance Method Summary collapse
-
#add_property_translation(from_name, to_name) ⇒ Object
Adds a property translation to the model.
-
#translations ⇒ Hash<Symbol,Array>
A map of the translations that have already been configured, keyed on from_name.
Instance Method Details
#add_property_translation(from_name, to_name) ⇒ Object
Adds a property translation to the model. This maps a mutator name to an existing property, so that whenever the from_name mutator is called on the model, the to_name property receives the value. If subsequent method calls add more destinations for the same source from_name, all destination properties will be updated.
60 61 62 63 64 65 66 67 68 69 70 71 |
# File 'lib/modelish/property_translations.rb', line 60 def add_property_translation(from_name, to_name) self.translations[from_name.to_sym] ||= [] self.translations[from_name.to_sym] << to_name.to_sym class_eval do define_method("#{from_name}=") do |value| self.class.translations[from_name.to_sym].each do |prop| self.send("#{prop}=", value) end end end end |
#translations ⇒ Hash<Symbol,Array>
A map of the translations that have already been configured, keyed on from_name.
76 77 78 |
# File 'lib/modelish/property_translations.rb', line 76 def translations @translations ||= {} end |