Class: RequestLogAnalyzer::LineDefinition::Definer

Inherits:
Object
  • Object
show all
Defined in:
lib/request_log_analyzer/line_definition.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeDefiner

Returns a new instance of Definer.



9
10
11
# File 'lib/request_log_analyzer/line_definition.rb', line 9

def initialize
  @line_definitions = {}
end

Dynamic Method Handling

This class handles dynamic methods through the method_missing method

#method_missing(name, *args, &block) ⇒ Object



25
26
27
# File 'lib/request_log_analyzer/line_definition.rb', line 25

def method_missing(name, *args, &block)
  define_line(name, args[0], &block)
end

Instance Attribute Details

#line_definitionsObject

Returns the value of attribute line_definitions.



7
8
9
# File 'lib/request_log_analyzer/line_definition.rb', line 7

def line_definitions
  @line_definitions
end

Instance Method Details

#define_line(name, arg = {}, &block) ⇒ Object



17
18
19
20
21
22
23
# File 'lib/request_log_analyzer/line_definition.rb', line 17

def define_line(name, arg = {}, &block)
  if block_given?
    @line_definitions[name] = RequestLogAnalyzer::LineDefinition.define(name, &block)
  else
    @line_definitions[name] = RequestLogAnalyzer::LineDefinition.new(name, arg)
  end
end

#initialize_copy(other) ⇒ Object



13
14
15
# File 'lib/request_log_analyzer/line_definition.rb', line 13

def initialize_copy(other)
  @line_definitions = other.line_definitions.dup
end