Class: RubyRabbitmqJanus::Tools::Config
- Inherits:
-
Object
- Object
- RubyRabbitmqJanus::Tools::Config
- Includes:
- 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
-
#configuration ⇒ String
readonly
Path to configuration file used.
-
#options ⇒ Hash
readonly
Return all options to configured in config file.
Instance Method Summary collapse
-
#cluster ⇒ Boolean
Read option file for a janus cluster section.
-
#initialize ⇒ Config
constructor
Initialize configuration file default or customize if exist.
-
#log_level ⇒ Symbol
Read configuration for log level used in this gem.
- #log_level_rabbit ⇒ Object
-
#plugin_at(index = 0) ⇒ String
Read configuration for plugin with index.
-
#queue_admin_from ⇒ String
Get to name queue_admin_from (pattern).
-
#queue_admin_to ⇒ String
Get to name queue_admin_from (pattern).
-
#queue_from ⇒ String
Get to name queue_from (pattern).
-
#queue_to ⇒ String
Get to name queue_to (pattern).
-
#time_to_live ⇒ Integer
(also: #ttl)
Read configuration for janus time to live for keepalive messages.
Constructor Details
#initialize ⇒ Config
Initialize configuration file default or customize if exist
34 35 36 37 38 39 40 41 |
# File 'lib/rrj/tools/gem/config.rb', line 34 def initialize @options = @configuration = nil loading_configuration_customize loading_configuration_default Tools::Log.instance.save_level(log_level) rescue raise Errors::Tools::Config::Initialize end |
Instance Attribute Details
#configuration ⇒ String (readonly)
Returns Path to configuration file used.
15 16 17 18 19 20 21 22 23 24 25 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 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 |
# File 'lib/rrj/tools/gem/config.rb', line 15 class Config include Singleton 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 loading_configuration_default Tools::Log.instance.save_level(log_level) rescue raise Errors::Tools::Config::Initialize end # Get to name queue_from (pattern) # # @return [String] read configuration for queue `from` def queue_from @options['queues']['standard']['from'].to_s rescue raise Errors::Tools::Config::QueueFrom end # Get to name queue_to (pattern) # # @return [String] read configuration for queue `to` def queue_to @options['queues']['standard']['to'].to_s rescue raise Errors::Tools::Config::QueueTo end # Get to name queue_admin_from (pattern) # # @return [String] read configuration for queue admin `from` def queue_admin_from @options['queues']['admin']['from'].to_s rescue raise Errors::Tools::Config::QueueAdminFrom end # Get to name queue_admin_from (pattern) # # @return [String] read configuration for queue admin `to` def queue_admin_to @options['queues']['admin']['to'].to_s rescue raise Errors::Tools::Config::QueueAdminTo end # @return [Symbol] read configuration for log level used in this gem def log_level @options['gem']['log']['level'].upcase.to_sym || :INFO rescue raise Errors::Tools::Config::LogLevel end def log_level_rabbit @options['rabbit']['level'].upcase.to_sym || :INFO rescue raise Errors::Tools::Config::LogLevelRabbit end # @return [Integer] # read configuration for janus time to live for keepalive messages def time_to_live @options['janus']['session']['keepalive'].to_i || 50 rescue raise Errors::Tools::Config::TimeToLive end alias ttl time_to_live # @param [Fixnum] index determine what field is readint in array plugins # in configuration file # @return [String] read configuration for plugin with index def plugin_at(index = 0) @options['janus']['plugins'][index].to_s rescue raise Errors::Tools::Config::PluginAt, index end # @return [Boolean] Read option file for a janus cluster section def cluster @options['gem']['cluster']['enabled'].to_s.match?('true') ? true : false rescue raise Errors::Tools::Config::Cluster end private def load_configuration = "Loading configuration file : #{@configuration}" Tools::Log.instance.info() 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 @options ||= load_configuration end end |
#options ⇒ Hash (readonly)
Return all options to configured in config file.
15 16 17 18 19 20 21 22 23 24 25 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 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 |
# File 'lib/rrj/tools/gem/config.rb', line 15 class Config include Singleton 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 loading_configuration_default Tools::Log.instance.save_level(log_level) rescue raise Errors::Tools::Config::Initialize end # Get to name queue_from (pattern) # # @return [String] read configuration for queue `from` def queue_from @options['queues']['standard']['from'].to_s rescue raise Errors::Tools::Config::QueueFrom end # Get to name queue_to (pattern) # # @return [String] read configuration for queue `to` def queue_to @options['queues']['standard']['to'].to_s rescue raise Errors::Tools::Config::QueueTo end # Get to name queue_admin_from (pattern) # # @return [String] read configuration for queue admin `from` def queue_admin_from @options['queues']['admin']['from'].to_s rescue raise Errors::Tools::Config::QueueAdminFrom end # Get to name queue_admin_from (pattern) # # @return [String] read configuration for queue admin `to` def queue_admin_to @options['queues']['admin']['to'].to_s rescue raise Errors::Tools::Config::QueueAdminTo end # @return [Symbol] read configuration for log level used in this gem def log_level @options['gem']['log']['level'].upcase.to_sym || :INFO rescue raise Errors::Tools::Config::LogLevel end def log_level_rabbit @options['rabbit']['level'].upcase.to_sym || :INFO rescue raise Errors::Tools::Config::LogLevelRabbit end # @return [Integer] # read configuration for janus time to live for keepalive messages def time_to_live @options['janus']['session']['keepalive'].to_i || 50 rescue raise Errors::Tools::Config::TimeToLive end alias ttl time_to_live # @param [Fixnum] index determine what field is readint in array plugins # in configuration file # @return [String] read configuration for plugin with index def plugin_at(index = 0) @options['janus']['plugins'][index].to_s rescue raise Errors::Tools::Config::PluginAt, index end # @return [Boolean] Read option file for a janus cluster section def cluster @options['gem']['cluster']['enabled'].to_s.match?('true') ? true : false rescue raise Errors::Tools::Config::Cluster end private def load_configuration = "Loading configuration file : #{@configuration}" Tools::Log.instance.info() 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 @options ||= load_configuration end end |
Instance Method Details
#cluster ⇒ Boolean
Returns Read option file for a janus cluster section.
112 113 114 115 116 |
# File 'lib/rrj/tools/gem/config.rb', line 112 def cluster @options['gem']['cluster']['enabled'].to_s.match?('true') ? true : false rescue raise Errors::Tools::Config::Cluster end |
#log_level ⇒ Symbol
Returns read configuration for log level used in this gem.
80 81 82 83 84 |
# File 'lib/rrj/tools/gem/config.rb', line 80 def log_level @options['gem']['log']['level'].upcase.to_sym || :INFO rescue raise Errors::Tools::Config::LogLevel end |
#log_level_rabbit ⇒ Object
86 87 88 89 90 |
# File 'lib/rrj/tools/gem/config.rb', line 86 def log_level_rabbit @options['rabbit']['level'].upcase.to_sym || :INFO rescue raise Errors::Tools::Config::LogLevelRabbit end |
#plugin_at(index = 0) ⇒ String
Returns read configuration for plugin with index.
105 106 107 108 109 |
# File 'lib/rrj/tools/gem/config.rb', line 105 def plugin_at(index = 0) @options['janus']['plugins'][index].to_s rescue raise Errors::Tools::Config::PluginAt, index end |
#queue_admin_from ⇒ String
Get to name queue_admin_from (pattern)
64 65 66 67 68 |
# File 'lib/rrj/tools/gem/config.rb', line 64 def queue_admin_from @options['queues']['admin']['from'].to_s rescue raise Errors::Tools::Config::QueueAdminFrom end |
#queue_admin_to ⇒ String
Get to name queue_admin_from (pattern)
73 74 75 76 77 |
# File 'lib/rrj/tools/gem/config.rb', line 73 def queue_admin_to @options['queues']['admin']['to'].to_s rescue raise Errors::Tools::Config::QueueAdminTo end |
#queue_from ⇒ String
Get to name queue_from (pattern)
46 47 48 49 50 |
# File 'lib/rrj/tools/gem/config.rb', line 46 def queue_from @options['queues']['standard']['from'].to_s rescue raise Errors::Tools::Config::QueueFrom end |
#queue_to ⇒ String
Get to name queue_to (pattern)
55 56 57 58 59 |
# File 'lib/rrj/tools/gem/config.rb', line 55 def queue_to @options['queues']['standard']['to'].to_s rescue raise Errors::Tools::Config::QueueTo end |
#time_to_live ⇒ Integer Also known as: ttl
Returns read configuration for janus time to live for keepalive messages.
94 95 96 97 98 |
# File 'lib/rrj/tools/gem/config.rb', line 94 def time_to_live @options['janus']['session']['keepalive'].to_i || 50 rescue raise Errors::Tools::Config::TimeToLive end |