Module: ActsAsReadOnlyI18nLocalised::ClassMethods

Defined in:
lib/acts_as_read_only_i18n_localised.rb

Overview

Standard Ruby idiom for auto-adding class methods

Instance Method Summary collapse

Instance Method Details

#acts_as_read_only_i18n_localised(*attributes) ⇒ Object



29
30
31
32
33
34
35
36
37
38
39
# File 'lib/acts_as_read_only_i18n_localised.rb', line 29

def acts_as_read_only_i18n_localised(*attributes)
  attributes.each do |attribute|
    define_method attribute do
      I18n.t("#{self.class.name.gsub(/::/, '/')
                                .gsub(/([A-Z]+)([A-Z][a-z])/, '\1_\2')
                                .gsub(/([a-z\d])([A-Z])/, '\1_\2')
                                .tr('-', '_')}.#{send(:slug)}.#{attribute}"
             .downcase.to_sym)
    end
  end
end

#underscore(string) ⇒ Object



25
26
27
# File 'lib/acts_as_read_only_i18n_localised.rb', line 25

def underscore(string)
  string
end