Class: UEAStemmer::ConcatenatingEndingRule

Inherits:
EndingRule show all
Defined in:
lib/rule.rb

Instance Attribute Summary collapse

Attributes inherited from Rule

#pattern, #rule_num, #suffix_size

Instance Method Summary collapse

Methods included from StringHelpers

#ends_with?, #remove_suffix

Constructor Details

#initialize(pattern, suffix_size, rule_num, new_suffix) ⇒ ConcatenatingEndingRule

Returns a new instance of ConcatenatingEndingRule.



57
58
59
60
# File 'lib/rule.rb', line 57

def initialize(pattern, suffix_size, rule_num, new_suffix)
  super(pattern, suffix_size, rule_num)
  @new_suffix = new_suffix.dup.freeze
end

Instance Attribute Details

#new_suffixObject (readonly)

Returns the value of attribute new_suffix.



55
56
57
# File 'lib/rule.rb', line 55

def new_suffix
  @new_suffix
end

Instance Method Details

#handle(word) ⇒ Object



62
63
64
# File 'lib/rule.rb', line 62

def handle(word)
  [remove_suffix(word, @suffix_size) + @new_suffix, @rule_num, self] if ends_with?(word, @pattern)
end

#to_sObject



66
67
68
# File 'lib/rule.rb', line 66

def to_s
  "rule ##{@rule_num} (remove -#{@pattern[@pattern.size - @suffix_size, @suffix_size]} and add -#{new_suffix} when the word ends in -#{@pattern})"
end