Class: GettextColumnMapping::Initializer
- Inherits:
-
Object
- Object
- GettextColumnMapping::Initializer
show all
- Defined in:
- lib/gettext_column_mapping/initializer.rb
Defined Under Namespace
Classes: BackendNotLoadedError, ConfigFileNotFoundError
Class Method Summary
collapse
Class Method Details
.extend_active_record ⇒ Object
47
48
49
50
51
52
53
54
55
56
57
58
|
# File 'lib/gettext_column_mapping/initializer.rb', line 47
def extend_active_record
unless ActiveRecord::Base.included_modules.include?(GettextColumnMapping::Backends::Base)
ActiveRecord::Base.send(:include,GettextColumnMapping::Backends::Base)
end
unless ActiveRecord::Base.included_modules.include?(config.backend_class.constantize)
ActiveRecord::Base.send(:include, config.backend_class.constantize)
end
if config.use_parent_level
require 'gettext_column_mapping/parent_level'
GettextColumnMapping::ParentLevel.load_config
end
end
|
.load_config_file ⇒ Object
60
61
62
63
|
# File 'lib/gettext_column_mapping/initializer.rb', line 60
def load_config_file
raise ConfigFileNotFoundError, "#{config.config_file.inspect}. Please set up config.config_file" unless config.config_file && File.exist?(config.config_file)
GettextColumnMapping.mapper.mappings = Parser.parse(config.config_file)
end
|
.require_backend ⇒ Object
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
|
# File 'lib/gettext_column_mapping/initializer.rb', line 31
def require_backend
case config.backend
when Symbol
require(lib = "gettext_column_mapping/backends/#{config.backend}")
config.backend_class = lib.camelize
when String
require config.backend
raise BackendNotLoadedError, "GettextColumnMapping.config.backend_class must be set if you use your own backend" unless config.bakend_class
else
raise BackendNotLoadedError, "You must supply a valid backend :gettext_i18n_rails | :gettext_active_record | 'my_librairie/my_backend', please refer to documentation."
end
end
|
.require_backend_base ⇒ Object
27
28
29
|
# File 'lib/gettext_column_mapping/initializer.rb', line 27
def require_backend_base
require 'gettext_column_mapping/backends/base'
end
|
.run(config = nil) {|self.config| ... } ⇒ Object
13
14
15
16
17
18
19
20
21
|
# File 'lib/gettext_column_mapping/initializer.rb', line 13
def self.run(config = nil,&block)
self.config = (config || GettextColumnMapping.config)
yield(self.config) if block_given?
Parser.init(self.config)
load_config_file
require_backend
require_backend_base
extend_active_record
end
|