Module: Stemmable

Included in:
Array, String
Defined in:
lib/stemmer.rb

Overview

Stemmable module

This module is automatically added to the String and Array classes when you:

require 'stemmer'

It adds a stem method to String and Array.

str = 'this is a string'

stemmed_str = str.stem

array = %wis an array

stemmed_array = array.stem

By default, stemming occurs in english. If you want to stem in another language, just give it as a parameter:

str = 'Chaîne de caractères française'

stemmed_str = str.stem('fr')

Or you can change the default configuration:

Stemmable::stemmer_default_language = 'fr'

stemmed_str = str.stem

Constant Summary collapse

@@stemmer_default_language =
'en'
@@stemmer =
Stemmer.new('en')
@@UTF8_MAP =
{
  'fr' => 'iso-8859-1'
}

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.stemmer_default_languageObject



50
51
52
# File 'lib/stemmer.rb', line 50

def Stemmable.stemmer_default_language
  return @@stemmer_default_language
end

.stemmer_default_language=(language) ⇒ Object



44
45
46
47
48
# File 'lib/stemmer.rb', line 44

def Stemmable.stemmer_default_language=(language)
  @@stemmer_default_language = language
  @@stemmer = Stemmer.new(language)
  language
end

Instance Method Details

#stem(language = nil) ⇒ Object



54
55
56
57
58
59
60
61
# File 'lib/stemmer.rb', line 54

def stem(language = nil)
  if (language.nil?)
    @@stemmer.stem(self)
  else
    stemmer = Stemmer.new(language)
    stemmer.stem(self)
  end
end