module ProjectModule

takeltau project module

Public Instance Methods

initialize_project() click to toggle source

Initialze project

# File lib/takeltau/lib/project.rb, line 23
def initialize_project
  TakeltauProject.instance.main = _project_read_main
  TakeltauProject.instance.private = _project_read_private
  TakeltauProject.instance.active = _project_merge_active
  TakeltauProject.instance.dir =
    TakeltauProject.instance.config.active['project_root_dir']
end
project() click to toggle source

@return [Object] global singleton project

# File lib/takeltau/lib/project.rb, line 32
def project
  TakeltauProject.instance
end

Private Instance Methods

_project_merge_active() click to toggle source

Merge active configuration.

# File lib/takeltau/lib/project.rb, line 63
def _project_merge_active
  # make a clone or else we'll change the original hash
  main = TakeltauProject.instance.main.clone
  private = TakeltauProject.instance.private.clone

  # merge main and private to active
  # private wins against main
  main.merge!(private).sort.to_h
end
_project_read_main() click to toggle source

Read main YAML file.

# File lib/takeltau/lib/project.rb, line 39
def _project_read_main
  dir = TakeltauProject.instance.config.active['project_root_dir']
  main_file = "#{dir}/" \
      "#{TakeltauProject.instance.config.active['info_project_main']}"

  return {} unless File.exist? main_file

  (read_yaml_erb_file(main_file) || {}).sort.to_h
end
_project_read_private() click to toggle source

Read private YAML file.

# File lib/takeltau/lib/project.rb, line 50
def _project_read_private
  dir = TakeltauProject.instance.config.active['project_root_dir']
  private_file = "#{dir}/" \
      "#{TakeltauProject.instance.config.active['info_project_private']}"

  return {} unless File.exist? private_file

  private_yaml = read_yaml_erb_file(private_file) || {}

  private_yaml.sort.to_h
end