Class: LokaliseRails::GlobalConfig

Inherits:
LokaliseManager::GlobalConfig
  • Object
show all
Defined in:
lib/lokalise_rails/global_config.rb

Overview

Extends LokaliseManager::GlobalConfig to provide a global configuration specific to the LokaliseRails gem in a Rails application.

Constant Summary collapse

MANAGER_CONFIG_KEYS =

Manager-supported config keys (for inline overrides)

LokaliseManager::TaskDefinitions::Base::CONFIG_KEYS.to_set.freeze

Class Attribute Summary collapse

Class Method Summary collapse

Class Attribute Details

.disable_export_taskObject



13
14
15
# File 'lib/lokalise_rails/global_config.rb', line 13

def disable_export_task
  !@disable_export_task.nil? && @disable_export_task
end

.disable_import_taskObject



17
18
19
# File 'lib/lokalise_rails/global_config.rb', line 17

def disable_import_task
  !@disable_import_task.nil? && @disable_import_task
end

Class Method Details

.default_projectObject

Default inline overrides (stored separately to avoid breaking existing global setters)



26
27
28
# File 'lib/lokalise_rails/global_config.rb', line 26

def default_project
  @default_project ||= {}
end

.for_default_project(&block) ⇒ Object

Configure default inline overrides using the same DSL as for_project.



31
32
33
34
35
36
# File 'lib/lokalise_rails/global_config.rb', line 31

def for_default_project(&block)
  collector = build_collector
  block&.call(collector)
  default_project.merge!(collector.to_h)
  default_project
end

.for_project(name) {|collector| ... } ⇒ Object

Registers a named project config.

Parameters:

  • name (Symbol, String)

Yields:

  • (collector)

Raises:

  • (ArgumentError)


50
51
52
53
54
55
56
57
# File 'lib/lokalise_rails/global_config.rb', line 50

def for_project(name, &block)
  key = normalize_project_key(name)
  raise ArgumentError, 'Project name can\'t be blank or :default' if key == :default

  collector = build_collector
  block&.call(collector)
  projects[key] = collector.to_h
end

.locales_pathObject



21
22
23
# File 'lib/lokalise_rails/global_config.rb', line 21

def locales_path
  (@locales_path || LokaliseRails::Utils.root.join('config', 'locales')).to_s
end

.project_opts(name = :default) ⇒ Object

Returns inline overrides for a named project (or :default).



39
40
41
42
43
44
# File 'lib/lokalise_rails/global_config.rb', line 39

def project_opts(name = :default)
  key = normalize_project_key(name)
  return default_project.dup if key == :default

  projects.fetch(key, {}).dup
end

.projectsObject



59
60
61
# File 'lib/lokalise_rails/global_config.rb', line 59

def projects
  @projects ||= {}
end