Class: Noiseless::MappingDefinitionProcessor::AnalysisBuilder
- Inherits:
-
Object
- Object
- Noiseless::MappingDefinitionProcessor::AnalysisBuilder
- Defined in:
- lib/noiseless/mapping_definition_processor.rb
Instance Method Summary collapse
- #analyzer(name = nil) ⇒ Object
-
#initialize ⇒ AnalysisBuilder
constructor
A new instance of AnalysisBuilder.
- #normalizer(name = nil) ⇒ Object
- #to_hash ⇒ Object
Constructor Details
#initialize ⇒ AnalysisBuilder
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_hash ⇒ Object
115 116 117 |
# File 'lib/noiseless/mapping_definition_processor.rb', line 115 def to_hash @analysis end |