Class: Tamashii::Agent::Config
- Inherits:
-
Object
- Object
- Tamashii::Agent::Config
- Includes:
- Configurable
- Defined in:
- lib/tamashii/agent/config.rb
Constant Summary collapse
- AUTH_TYPES =
[:none, :token]
Class Method Summary collapse
- .instance ⇒ Object
- .method_missing(name, *args, &block) ⇒ Object
- .respond_to_missing?(name, _all = false) ⇒ Boolean
Instance Method Summary collapse
- #add_component(name, class_name, options = {}, &block) ⇒ Object
- #auth_type(type = nil) ⇒ Object
- #components ⇒ Object
- #env(env = nil) ⇒ Object
- #log_file(value = nil) ⇒ Object
- #log_level(level = nil) ⇒ Object
- #remove_component(name) ⇒ Object
Class Method Details
.instance ⇒ Object
7 8 9 |
# File 'lib/tamashii/agent/config.rb', line 7 def instance @instance ||= Config.new end |
.method_missing(name, *args, &block) ⇒ Object
15 16 17 18 19 20 |
# File 'lib/tamashii/agent/config.rb', line 15 def method_missing(name, *args, &block) # rubocop:disable Metrics/LineLength return instance.send(name, *args, &block) if instance.respond_to?(name) # rubocop:enable Metrics/LineLength super end |
.respond_to_missing?(name, _all = false) ⇒ Boolean
11 12 13 |
# File 'lib/tamashii/agent/config.rb', line 11 def respond_to_missing?(name, _all = false) super end |
Instance Method Details
#add_component(name, class_name, options = {}, &block) ⇒ Object
62 63 64 |
# File 'lib/tamashii/agent/config.rb', line 62 def add_component(name, class_name, = {}, &block) self.components[name] = {class_name: class_name, options: , block: block} end |
#auth_type(type = nil) ⇒ Object
38 39 40 41 42 |
# File 'lib/tamashii/agent/config.rb', line 38 def auth_type(type = nil) return @auth_type ||= :none if type.nil? return unless AUTH_TYPES.include?(type) @auth_type = type.to_sym end |
#components ⇒ Object
70 71 72 |
# File 'lib/tamashii/agent/config.rb', line 70 def components @components ||= self.default_components.clone end |
#env(env = nil) ⇒ Object
74 75 76 77 |
# File 'lib/tamashii/agent/config.rb', line 74 def env(env = nil) return Tamashii::Environment.new(self[:env]) if env.nil? self.env = env.to_s end |
#log_file(value = nil) ⇒ Object
50 51 52 53 54 |
# File 'lib/tamashii/agent/config.rb', line 50 def log_file(value = nil) return @log_file ||= STDOUT if value.nil? Client.config.log_file = value @log_file = value end |
#log_level(level = nil) ⇒ Object
44 45 46 47 48 |
# File 'lib/tamashii/agent/config.rb', line 44 def log_level(level = nil) return Agent.logger.level if level.nil? Client.config.log_level(level) Agent.logger.level = level end |
#remove_component(name) ⇒ Object
66 67 68 |
# File 'lib/tamashii/agent/config.rb', line 66 def remove_component(name) self.components.delete(name) end |