Module: Unobtainium::World::ClassMethods

Included in:
Unobtainium::World
Defined in:
lib/unobtainium/world.rb

Overview

Modules can have class methods, too, but it’s a little more verbose to provide them.

Instance Method Summary collapse

Instance Method Details

#config_fileString

Returns the config file path, defaulting to ‘config/config.yml’.

Returns:

  • (String)

    the config file path, defaulting to ‘config/config.yml’



33
34
35
# File 'lib/unobtainium/world.rb', line 33

def config_file
  return ::Collapsium::Config.config_file
end

#config_file=(name) ⇒ Object

Set the configuration file



28
29
30
# File 'lib/unobtainium/world.rb', line 28

def config_file=(name)
  ::Collapsium::Config.config_file = name
end

#extended(world) ⇒ Object

… and when it’s extended.



49
50
51
52
53
54
55
# File 'lib/unobtainium/world.rb', line 49

def extended(world)
  # :nocov:
  set_config_path_default

  world.extend(::Collapsium::Config)
  # :nocov:
end

#included(klass) ⇒ Object

In order for Unobtainium::World to include Collapsium::Config functionality, it has to be inherited when the former is included…



40
41
42
43
44
45
46
# File 'lib/unobtainium/world.rb', line 40

def included(klass)
  set_config_path_default

  klass.class_eval do
    include ::Collapsium::Config
  end
end

#set_config_path_defaultObject



57
58
59
60
61
62
63
# File 'lib/unobtainium/world.rb', line 57

def set_config_path_default
  # Override collapsium-config's default config path
  if ::Collapsium::Config.config_file == \
     ::Collapsium::Config::DEFAULT_CONFIG_PATH
    ::Collapsium::Config.config_file = 'config/config.yml'
  end
end