Class: GettextSimpleRails::Translators

Inherits:
Object
  • Object
show all
Defined in:
lib/gettext_simple_rails.rb

Defined Under Namespace

Classes: ActiveAdminTranslator, ActiveRecordTranslator, DateTranslator, DeviseTranslator, SimpleFormTranslator

Class Method Summary collapse

Class Method Details

.const_missing(name) ⇒ Object

Raises:

  • (LoadError)


40
41
42
43
44
# File 'lib/gettext_simple_rails.rb', line 40

def self.const_missing(name)
  require "#{::File.dirname(__FILE__)}/gettext_simple_rails/translators/#{::StringCases.camel_to_snake(name)}"
  raise LoadError, "Still not loaded: '#{name}'." unless ::GettextSimpleRails::Translators.const_defined?(name)
  return ::GettextSimpleRails::Translators.const_get(name)
end

.load_allObject



46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
# File 'lib/gettext_simple_rails.rb', line 46

def self.load_all
  result = []
  
  path = "#{File.dirname(__FILE__)}/gettext_simple_rails/translators"
  Dir.foreach(path) do |file|
    next unless match = file.match(/^(.+_translator)\.rb$/)
    require "#{path}/#{file}"
    
    class_name = StringCases.snake_to_camel(match[1])
    clazz = ::GettextSimpleRails::Translators.const_get(class_name)
    
    result << {
      :path => path,
      :file => file,
      :class => clazz
    }
  end
  
  return result
end