Class: RubyRabbitmqJanus::Tools::Config

Inherits:
Object
  • Object
show all
Includes:
ConfigGem, ConfigJanus, ConfigQueues, ConfigRabbit, Singleton
Defined in:
lib/rrj/tools/gem/config.rb

Overview

# Manage configuration file Singleton object for reading configuration file

Constant Summary collapse

RRJ_HOME =

Define HOME RRJ gem

File.realpath(File.join(File.dirname(__FILE__),
'..', '..', '..'))
CONF_DEFAULT =

Define a default name to file configuration

'config/default.yml'
CONF_CUSTOM =

Define a default override file configuration

'config/ruby-rabbitmq-janus.yml'
PATH_DEFAULT =

Define a default path to file configuration to gem

File.join(RRJ_HOME, CONF_DEFAULT)

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from ConfigJanus

#plugin_at, #time_to_live

Methods included from ConfigQueues

#queue_admin_from, #queue_admin_to, #queue_from, #queue_to

Methods included from ConfigRabbit

#admin_pass, #log_level_rabbit, #server_settings

Methods included from ConfigGem

#cluster, #environment, #listener_admin_path, #listener_path, #log_level, #log_option, #log_type, #object_relational_mapping, #program_name, #public_queue_process, #rspec_response

Constructor Details

#initializeConfig

Initialize configuration file default or customize if exist



49
50
51
52
53
# File 'lib/rrj/tools/gem/config.rb', line 49

def initialize
  @options = @configuration = nil
  loading_configuration_customize
  @options ||= loading_configuration_default
end

Instance Attribute Details

#configurationString (readonly)



26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
# File 'lib/rrj/tools/gem/config.rb', line 26

class Config
  include Singleton
  include RubyRabbitmqJanus::Tools::ConfigGem
  include RubyRabbitmqJanus::Tools::ConfigRabbit
  include RubyRabbitmqJanus::Tools::ConfigQueues
  include RubyRabbitmqJanus::Tools::ConfigJanus

  attr_reader :options, :configuration

  # Define HOME RRJ gem
  RRJ_HOME = File.realpath(File.join(File.dirname(__FILE__),
                                     '..', '..', '..'))

  # Define a default name to file configuration
  CONF_DEFAULT = 'config/default.yml'

  # Define a default override file configuration
  CONF_CUSTOM = 'config/ruby-rabbitmq-janus.yml'

  # Define a default path to file configuration to gem
  PATH_DEFAULT = File.join(RRJ_HOME, CONF_DEFAULT)

  # Initialize configuration file default or customize if exist
  def initialize
    @options = @configuration = nil
    loading_configuration_customize
    @options ||= loading_configuration_default
  end

  private

  def load_configuration
    ::YAML.safe_load(ERB.new(File.read(@configuration)).result)
  end

  def loading_configuration_customize
    @configuration = File.join(Dir.pwd, CONF_CUSTOM)
    @options = load_configuration if File.exist?(@configuration)
  end

  def loading_configuration_default
    @configuration = PATH_DEFAULT
    load_configuration
  end
end

#optionsHash (readonly)



26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
# File 'lib/rrj/tools/gem/config.rb', line 26

class Config
  include Singleton
  include RubyRabbitmqJanus::Tools::ConfigGem
  include RubyRabbitmqJanus::Tools::ConfigRabbit
  include RubyRabbitmqJanus::Tools::ConfigQueues
  include RubyRabbitmqJanus::Tools::ConfigJanus

  attr_reader :options, :configuration

  # Define HOME RRJ gem
  RRJ_HOME = File.realpath(File.join(File.dirname(__FILE__),
                                     '..', '..', '..'))

  # Define a default name to file configuration
  CONF_DEFAULT = 'config/default.yml'

  # Define a default override file configuration
  CONF_CUSTOM = 'config/ruby-rabbitmq-janus.yml'

  # Define a default path to file configuration to gem
  PATH_DEFAULT = File.join(RRJ_HOME, CONF_DEFAULT)

  # Initialize configuration file default or customize if exist
  def initialize
    @options = @configuration = nil
    loading_configuration_customize
    @options ||= loading_configuration_default
  end

  private

  def load_configuration
    ::YAML.safe_load(ERB.new(File.read(@configuration)).result)
  end

  def loading_configuration_customize
    @configuration = File.join(Dir.pwd, CONF_CUSTOM)
    @options = load_configuration if File.exist?(@configuration)
  end

  def loading_configuration_default
    @configuration = PATH_DEFAULT
    load_configuration
  end
end