module LatoCore::Interface::Modules

This module contains a list of functions used to work and manage other lato modules.

Public Instance Methods

core__get_module_application_configs(module_name) click to toggle source

This function load application configs for a specific module.

# File lib/lato_core/interfaces/modules.rb, line 96
def core__get_module_application_configs module_name
  application_config_path = core__get_application_lato_configs_path
  absolute_path = "#{application_config_path}/#{module_name}.yml"
  return core__read_yaml(absolute_path)
end
core__get_module_application_languages(module_name) click to toggle source

This function load application languages for a specific module.

# File lib/lato_core/interfaces/modules.rb, line 61
def core__get_module_application_languages(module_name)
  application_config_path = core__get_application_lato_configs_path
  absolute_path = "#{application_config_path}/#{module_name}_locale.yml"
  core__read_yaml(absolute_path)
end
core__get_module_configs(module_name) click to toggle source

This function load configs for a specific module. This configs are generated from the merge of application configs for the module and default configs of the module.

# File lib/lato_core/interfaces/modules.rb, line 83
def core__get_module_configs module_name
  default_config = core__get_module_default_configs(module_name)
  application_config = core__get_module_application_configs(module_name)
  return default_config unless application_config

  default_config.each do |key, value|
    application_config[key] = value unless application_config[key]
  end

  return application_config
end
core__get_module_default_configs(module_name) click to toggle source

This function load default configs for a specific module.

# File lib/lato_core/interfaces/modules.rb, line 103
def core__get_module_default_configs module_name
  module_root_path = core__get_module_root_path(module_name)
  absolute_path = "#{module_root_path}/config/configs.yml"
  return core__read_yaml(absolute_path)
end
core__get_module_default_languages(module_name) click to toggle source

This function load default languages for a specific module.

# File lib/lato_core/interfaces/modules.rb, line 55
def core__get_module_default_languages(module_name)
  module_root_path = core__get_module_root_path(module_name)
  core__read_yaml("#{module_root_path}/config/languages/default.yml")
end
core__get_module_languages(module_name) click to toggle source

This function load languages for a specific module. This config are generated from the merge of application languages for the module and default languages of the module.

# File lib/lato_core/interfaces/modules.rb, line 42
def core__get_module_languages(module_name)
  default_languages = core__get_module_default_languages(module_name)
  application_languages = core__get_module_application_languages(module_name)
  return default_languages unless application_languages

  default_languages.each do |key, value|
    application_languages[key] = value unless application_languages[key]
  end

  application_languages
end
core__get_module_root_path(module_name) click to toggle source

This function return the root path of a specific module.

# File lib/lato_core/interfaces/modules.rb, line 10
def core__get_module_root_path(module_name)
  Gem.loaded_specs[module_name].full_gem_path
end
core__get_modules_configs() click to toggle source

This function returns an object with configs for every module.

# File lib/lato_core/interfaces/modules.rb, line 71
def core__get_modules_configs
  lato_modules = core__get_modules_list
  configs = {}
  lato_modules.each do |lato_module_name|
    configs[lato_module_name.to_sym] = core__get_module_configs(lato_module_name)
  end
  configs
end
core__get_modules_languages() click to toggle source

This function returns an object with languages for every module.

# File lib/lato_core/interfaces/modules.rb, line 30
def core__get_modules_languages
  lato_modules = core__get_modules_list
  languages = {}
  lato_modules.each do |lato_module_name|
    languages[lato_module_name.to_sym] = core__get_module_languages(lato_module_name)
  end
  languages
end
core__get_modules_list() click to toggle source

This function returns the list of lato modules installed on main application.

# File lib/lato_core/interfaces/modules.rb, line 15
def core__get_modules_list
  all_gems = core__get_application_gems.keys
  lato_gems = []
  # check every gem
  all_gems.each do |name|
    lato_gems.push(name) if name.start_with? 'lato'
  end
  # return result
  lato_gems
end