Class: Noiseless::MappingDefinitionProcessor::AnalysisBuilder

Inherits:
Object
  • Object
show all
Defined in:
lib/noiseless/mapping_definition_processor.rb

Instance Method Summary collapse

Constructor Details

#initializeAnalysisBuilder

Returns a new instance of AnalysisBuilder.



81
82
83
# File 'lib/noiseless/mapping_definition_processor.rb', line 81

def initialize
  @analysis = {}
end

Instance Method Details

#analyzer(name = nil) ⇒ Object



100
101
102
103
104
105
106
107
108
109
110
111
112
113
# File 'lib/noiseless/mapping_definition_processor.rb', line 100

def analyzer(name = nil, &)
  @analysis[:analyzer] ||= {}
  if name && block_given?
    # Define a specific analyzer
    analyzer_builder = AnalyzerBuilder.new
    analyzer_builder.instance_eval(&)
    @analysis[:analyzer][name] = analyzer_builder.to_hash
  elsif block_given?
    # Handle nested analyzer definitions
    analyzer_definitions = AnalyzerDefinitions.new
    analyzer_definitions.instance_eval(&)
    @analysis[:analyzer].merge!(analyzer_definitions.to_hash)
  end
end

#normalizer(name = nil) ⇒ Object



85
86
87
88
89
90
91
92
93
94
95
96
97
98
# File 'lib/noiseless/mapping_definition_processor.rb', line 85

def normalizer(name = nil, &)
  @analysis[:normalizer] ||= {}
  if name && block_given?
    # Define a specific normalizer
    normalizer_builder = NormalizerBuilder.new
    normalizer_builder.instance_eval(&)
    @analysis[:normalizer][name] = normalizer_builder.to_hash
  elsif block_given?
    # Handle nested normalizer definitions
    normalizer_definitions = NormalizerDefinitions.new
    normalizer_definitions.instance_eval(&)
    @analysis[:normalizer].merge!(normalizer_definitions.to_hash)
  end
end

#to_hashObject



115
116
117
# File 'lib/noiseless/mapping_definition_processor.rb', line 115

def to_hash
  @analysis
end