Module: I18n::TranslationProperties

Defined in:
lib/i18n/translation_properties.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.define_property(name) ⇒ Object



8
9
10
11
12
13
# File 'lib/i18n/translation_properties.rb', line 8

def define_property(name)
  unless respond_to?(name)
    attr_accessor(name)
    property_names << name unless property_names.include?(name)
  end
end

.property_namesObject



4
5
6
# File 'lib/i18n/translation_properties.rb', line 4

def property_names
  @property_names ||= []
end

Instance Method Details

#propertiesObject



16
17
18
19
20
21
# File 'lib/i18n/translation_properties.rb', line 16

def properties
  TranslationProperties.property_names.inject({}) do |properties, name|
    properties[name] = self.send(name)
    properties
  end
end

#set_properties(properties) ⇒ Object



23
24
25
# File 'lib/i18n/translation_properties.rb', line 23

def set_properties(properties)
  properties.each { |name, value| set_property(name, value) }
end

#set_property(name, value) ⇒ Object



27
28
29
30
# File 'lib/i18n/translation_properties.rb', line 27

def set_property(name, value)
  TranslationProperties.define_property(name)
  send(:"#{name}=", value)
end

#unset_propertiesObject



32
33
34
35
36
# File 'lib/i18n/translation_properties.rb', line 32

def unset_properties
  TranslationProperties.property_names.each do |name|
    remove_instance_variable("@#{name}") rescue NameError
  end
end