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].freeze

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
13
# File 'lib/inci_score/normalizer.rb', line 9

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

Instance Attribute Details

#rulesObject (readonly)

Returns the value of attribute rules.



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

def rules
  @rules
end

#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

#callObject



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

def call
  rules.reduce(src) do |_src, rule|
    _src = rule.call(_src)
  end
end