Class: InciScore::Normalizer

Inherits:
Object
  • Object
show all
Defined in:
lib/inci_score/normalizer.rb,
lib/inci_score/normalizer_rules.rb

Defined Under Namespace

Modules: Rules

Constant Summary collapse

DEFAULT_RULES =
[Rules::Replacer, Rules::Downcaser, Rules::Beheader, Rules::Separator, Rules::Tokenizer, Rules::Sanitizer, Rules::Uniquifier]

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(src:, rules: DEFAULT_RULES) ⇒ Normalizer

Returns a new instance of Normalizer.



9
10
11
12
# File 'lib/inci_score/normalizer.rb', line 9

def initialize(src:, rules: DEFAULT_RULES)
  @src = src
  @rules = rules
end

Instance Attribute Details

#srcObject (readonly)

Returns the value of attribute src.



7
8
9
# File 'lib/inci_score/normalizer.rb', line 7

def src
  @src
end

Instance Method Details

#call {|@rules| ... } ⇒ Object

Yields:

  • (@rules)


14
15
16
17
18
19
# File 'lib/inci_score/normalizer.rb', line 14

def call
  yield(@rules) if block_given?
  @rules.reduce(@src) do |src, rule|
    @src = rule.call(src)
  end
end