ruby-stemmer 2.0.1 → 3.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.travis.yml +1 -3
- data/Gemfile.lock +7 -7
- data/MIT-LICENSE +1 -1
- data/Rakefile +5 -6
- data/ext/lingua/extconf.rb +8 -10
- data/lib/lingua/stemmer.rb +13 -16
- data/lib/lingua/version.rb +1 -3
- data/ruby-stemmer.gemspec +16 -16
- data/test/helper.rb +2 -3
- data/test/lingua/test_stemmer.rb +40 -52
- metadata +13 -13
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA256:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: 46fc900b6d0aef804a2d93afaf3eaa6fb80a2c064f287109783918d3cb14eb42
         | 
| 4 | 
            +
              data.tar.gz: 698ebc0490f582821c83d43f28d679b3556aa8f97a82243fd17276dfc0d63b4e
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: fcf5fc09b4f5d983df49ad9c110b9589f9a876909f2d4450de6bd3a33905dd0ff8dc284cb457c0a39dfe229c5168f7467d2148da23cb5abb614fba8ad5e6b2a6
         | 
| 7 | 
            +
              data.tar.gz: 1829502a57c5a60669a1266c1ba8c9b2fa8bdeec21953bb201a733b0c9020f001befd0fee29bf840b23689fac77db3fc396cde884e7c5b6fe20bb99de0ffa2d6
         | 
    
        data/.travis.yml
    CHANGED
    
    
    
        data/Gemfile.lock
    CHANGED
    
    | @@ -1,23 +1,23 @@ | |
| 1 1 | 
             
            PATH
         | 
| 2 2 | 
             
              remote: .
         | 
| 3 3 | 
             
              specs:
         | 
| 4 | 
            -
                ruby-stemmer ( | 
| 4 | 
            +
                ruby-stemmer (3.0.0)
         | 
| 5 5 |  | 
| 6 6 | 
             
            GEM
         | 
| 7 7 | 
             
              remote: https://rubygems.org/
         | 
| 8 8 | 
             
              specs:
         | 
| 9 | 
            -
                minitest (5. | 
| 10 | 
            -
                rake ( | 
| 11 | 
            -
                rake-compiler ( | 
| 9 | 
            +
                minitest (5.14.2)
         | 
| 10 | 
            +
                rake (13.0.1)
         | 
| 11 | 
            +
                rake-compiler (1.1.1)
         | 
| 12 12 | 
             
                  rake
         | 
| 13 13 |  | 
| 14 14 | 
             
            PLATFORMS
         | 
| 15 15 | 
             
              ruby
         | 
| 16 16 |  | 
| 17 17 | 
             
            DEPENDENCIES
         | 
| 18 | 
            -
              minitest (~> 5. | 
| 19 | 
            -
              rake-compiler (~>  | 
| 18 | 
            +
              minitest (~> 5.14)
         | 
| 19 | 
            +
              rake-compiler (~> 1.1)
         | 
| 20 20 | 
             
              ruby-stemmer!
         | 
| 21 21 |  | 
| 22 22 | 
             
            BUNDLED WITH
         | 
| 23 | 
            -
               1. | 
| 23 | 
            +
               2.1.4
         | 
    
        data/MIT-LICENSE
    CHANGED
    
    
    
        data/Rakefile
    CHANGED
    
    | @@ -3,13 +3,13 @@ require 'bundler/setup' | |
| 3 3 |  | 
| 4 4 | 
             
            require 'rdoc/task'
         | 
| 5 5 | 
             
            require 'rake/testtask'
         | 
| 6 | 
            -
            require  | 
| 6 | 
            +
            require 'bundler/gem_tasks'
         | 
| 7 7 | 
             
            require 'rake/extensiontask'
         | 
| 8 8 | 
             
            require 'rubygems/package_task'
         | 
| 9 9 |  | 
| 10 | 
            -
            CLOBBER.include( | 
| 10 | 
            +
            CLOBBER.include('libstemmer_c/**/*.o')
         | 
| 11 11 |  | 
| 12 | 
            -
            GEMSPEC = Gem::Specification.load( | 
| 12 | 
            +
            GEMSPEC = Gem::Specification.load('ruby-stemmer.gemspec')
         | 
| 13 13 |  | 
| 14 14 | 
             
            Rake::TestTask.new(:test) do |test|
         | 
| 15 15 | 
             
              test.libs << 'lib' << 'test'
         | 
| @@ -26,7 +26,7 @@ Rake::ExtensionTask.new('ruby-stemmer', GEMSPEC) do |ext| | |
| 26 26 | 
             
            end
         | 
| 27 27 |  | 
| 28 28 | 
             
            Rake::RDocTask.new do |rdoc|
         | 
| 29 | 
            -
              version = File.exist?('VERSION') ? File.read('VERSION') :  | 
| 29 | 
            +
              version = File.exist?('VERSION') ? File.read('VERSION') : ''
         | 
| 30 30 | 
             
              rdoc.rdoc_dir = 'rdoc'
         | 
| 31 31 | 
             
              rdoc.options << '--charset' << 'utf-8'
         | 
| 32 32 | 
             
              rdoc.title = "Ruby-Stemmer #{version}"
         | 
| @@ -36,5 +36,4 @@ Rake::RDocTask.new do |rdoc| | |
| 36 36 | 
             
              rdoc.rdoc_files.include('MIT-LICENSE')
         | 
| 37 37 | 
             
            end
         | 
| 38 38 |  | 
| 39 | 
            -
            task : | 
| 40 | 
            -
             | 
| 39 | 
            +
            task default: %i[clobber compile test]
         | 
    
        data/ext/lingua/extconf.rb
    CHANGED
    
    | @@ -1,15 +1,15 @@ | |
| 1 | 
            -
            ENV['RC_ARCHS'] = '' if RUBY_PLATFORM | 
| 2 | 
            -
            require  | 
| 1 | 
            +
            ENV['RC_ARCHS'] = '' if RUBY_PLATFORM.match?(/darwin/)
         | 
| 2 | 
            +
            require 'mkmf'
         | 
| 3 3 |  | 
| 4 4 | 
             
            ROOT = File.expand_path(File.join(File.dirname(__FILE__), '..', '..'))
         | 
| 5 5 | 
             
            LIBSTEMMER = File.join(ROOT, 'libstemmer_c')
         | 
| 6 6 |  | 
| 7 7 | 
             
            # build libstemmer_c
         | 
| 8 8 | 
             
            # FreeBSD make is gmake
         | 
| 9 | 
            -
            make= ( | 
| 9 | 
            +
            make = RUBY_PLATFORM.match?(/freebsd/) ? 'gmake' : 'make'
         | 
| 10 10 |  | 
| 11 11 | 
             
            # MacOS architecture mess up
         | 
| 12 | 
            -
            if RUBY_PLATFORM | 
| 12 | 
            +
            if RUBY_PLATFORM.match?(/darwin/)
         | 
| 13 13 | 
             
              # Config has been deprecated since 1.9.3, and removed since 2.2.0
         | 
| 14 14 | 
             
              if defined?(RbConfig)
         | 
| 15 15 | 
             
                Config = RbConfig
         | 
| @@ -17,7 +17,7 @@ if RUBY_PLATFORM =~ /darwin/ | |
| 17 17 |  | 
| 18 18 | 
             
              # see: #issue/3, #issue/5
         | 
| 19 19 | 
             
              begin
         | 
| 20 | 
            -
                ENV['ARCHFLAGS']=  | 
| 20 | 
            +
                ENV['ARCHFLAGS'] = '-arch ' + %x[file #{File.expand_path(File.join(Config::CONFIG['bindir'], Config::CONFIG['RUBY_INSTALL_NAME']))}].strip!.match(/executable (.+)$/)[1] unless ENV['ARCHFLAGS'].nil?
         | 
| 21 21 | 
             
              rescue
         | 
| 22 22 | 
             
                $stderr << "Failed to get your ruby executable architecture.\n"
         | 
| 23 23 | 
             
                $stderr << "Please specify one using $ARCHFLAGS environment variable.\n"
         | 
| @@ -27,12 +27,12 @@ if RUBY_PLATFORM =~ /darwin/ | |
| 27 27 | 
             
              # see: man compat
         | 
| 28 28 | 
             
              if ENV['COMMAND_MODE'] == 'legacy'
         | 
| 29 29 | 
             
                $stdout << "Setting compat mode to unix2003\n."
         | 
| 30 | 
            -
                ENV['COMMAND_MODE']= 'unix2003'
         | 
| 30 | 
            +
                ENV['COMMAND_MODE'] = 'unix2003'
         | 
| 31 31 | 
             
              end
         | 
| 32 32 | 
             
            end
         | 
| 33 33 |  | 
| 34 34 | 
             
            # make libstemmer_c. unless we're cross-compiling.
         | 
| 35 | 
            -
            unless RUBY_PLATFORM | 
| 35 | 
            +
            unless RUBY_PLATFORM.match?(/i386-mingw32/)
         | 
| 36 36 | 
             
              system "cd #{LIBSTEMMER}; #{make} libstemmer.o; cd #{ROOT};"
         | 
| 37 37 | 
             
              exit unless $? == 0
         | 
| 38 38 | 
             
            end
         | 
| @@ -40,6 +40,4 @@ end | |
| 40 40 | 
             
            $CFLAGS  += " -I#{File.expand_path(File.join(LIBSTEMMER, 'include'))} "
         | 
| 41 41 | 
             
            $libs    += " -L#{LIBSTEMMER} #{File.expand_path(File.join(LIBSTEMMER, 'libstemmer.o'))} "
         | 
| 42 42 |  | 
| 43 | 
            -
            if have_header( | 
| 44 | 
            -
              create_makefile("lingua/stemmer_native")
         | 
| 45 | 
            -
            end
         | 
| 43 | 
            +
            create_makefile('lingua/stemmer_native') if have_header('libstemmer.h')
         | 
    
        data/lib/lingua/stemmer.rb
    CHANGED
    
    | @@ -1,4 +1,6 @@ | |
| 1 | 
            -
             | 
| 1 | 
            +
            # frozen_string_literal: true
         | 
| 2 | 
            +
             | 
| 3 | 
            +
            if RUBY_PLATFORM.match?(/(mswin|mingw)/i)
         | 
| 2 4 | 
             
              require "lingua/#{RUBY_VERSION.sub(/\.\d+$/, '')}/stemmer_native"
         | 
| 3 5 | 
             
            else
         | 
| 4 6 | 
             
              require 'lingua/stemmer_native'
         | 
| @@ -7,10 +9,10 @@ end | |
| 7 9 | 
             
            require 'lingua/version'
         | 
| 8 10 |  | 
| 9 11 | 
             
            module Lingua
         | 
| 10 | 
            -
              def self.stemmer(o, options={})
         | 
| 12 | 
            +
              def self.stemmer(o, options = {})
         | 
| 11 13 | 
             
                stemmer = Stemmer.new(options)
         | 
| 12 14 |  | 
| 13 | 
            -
                words = Array(o).map | 
| 15 | 
            +
                words = Array(o).map(&:to_s)
         | 
| 14 16 |  | 
| 15 17 | 
             
                results = []
         | 
| 16 18 | 
             
                words.each do |word|
         | 
| @@ -23,11 +25,11 @@ module Lingua | |
| 23 25 | 
             
                end
         | 
| 24 26 |  | 
| 25 27 | 
             
                return stemmer if block_given?
         | 
| 26 | 
            -
             | 
| 28 | 
            +
             | 
| 29 | 
            +
                o.is_a?(String) ? results[0] : results
         | 
| 27 30 | 
             
              end
         | 
| 28 31 |  | 
| 29 32 | 
             
              class Stemmer
         | 
| 30 | 
            -
             | 
| 31 33 | 
             
                attr_reader :language
         | 
| 32 34 | 
             
                attr_reader :encoding
         | 
| 33 35 |  | 
| @@ -36,26 +38,21 @@ module Lingua | |
| 36 38 | 
             
                # will be used
         | 
| 37 39 | 
             
                #
         | 
| 38 40 | 
             
                #   require 'lingua/stemmer'
         | 
| 39 | 
            -
                #   s = Lingua::Stemmer.new : | 
| 41 | 
            +
                #   s = Lingua::Stemmer.new language: 'fr'
         | 
| 40 42 | 
             
                #
         | 
| 41 | 
            -
                def initialize(options={})
         | 
| 43 | 
            +
                def initialize(options = {})
         | 
| 42 44 | 
             
                  @language = (options[:language] || 'en').to_s
         | 
| 43 45 | 
             
                  @encoding = (options[:encoding] || 'UTF_8').to_s
         | 
| 44 46 |  | 
| 45 | 
            -
                   | 
| 46 | 
            -
                    if not @encoding.is_a?(Encoding)
         | 
| 47 | 
            -
                      @encoding = Encoding.find(@encoding.gsub("_", "-"))
         | 
| 48 | 
            -
                    end
         | 
| 49 | 
            -
                  else
         | 
| 50 | 
            -
                    @encoding = @encoding.upcase.gsub("-", "_")
         | 
| 51 | 
            -
                  end
         | 
| 47 | 
            +
                  @encoding = Encoding.find(@encoding.tr('_', '-'))
         | 
| 52 48 |  | 
| 53 49 | 
             
                  native_init(@language, native_encoding(@encoding))
         | 
| 54 50 | 
             
                end
         | 
| 55 51 |  | 
| 56 | 
            -
             | 
| 52 | 
            +
                private
         | 
| 53 | 
            +
             | 
| 57 54 | 
             
                def native_encoding(enc)
         | 
| 58 | 
            -
                   | 
| 55 | 
            +
                  enc.name.tr('-', '_')
         | 
| 59 56 | 
             
                end
         | 
| 60 57 | 
             
              end
         | 
| 61 58 | 
             
            end
         | 
    
        data/lib/lingua/version.rb
    CHANGED
    
    
    
        data/ruby-stemmer.gemspec
    CHANGED
    
    | @@ -1,28 +1,28 @@ | |
| 1 1 | 
             
            # coding: utf-8
         | 
| 2 | 
            +
             | 
| 2 3 | 
             
            lib = File.expand_path('../lib', __FILE__)
         | 
| 3 4 | 
             
            $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
         | 
| 4 | 
            -
            require  | 
| 5 | 
            +
            require 'lingua/version'
         | 
| 5 6 |  | 
| 6 7 | 
             
            Gem::Specification.new do |s|
         | 
| 7 | 
            -
              s.name =  | 
| 8 | 
            +
              s.name = 'ruby-stemmer'
         | 
| 8 9 | 
             
              s.version = Lingua::Stemmer::VERSION
         | 
| 9 10 |  | 
| 10 | 
            -
              s.platform | 
| 11 | 
            -
              s.required_ruby_version =  | 
| 11 | 
            +
              s.platform = Gem::Platform::RUBY
         | 
| 12 | 
            +
              s.required_ruby_version = '>= 2.4.0'
         | 
| 12 13 |  | 
| 13 | 
            -
              s.require_paths = [ | 
| 14 | 
            -
              s.authors = [ | 
| 14 | 
            +
              s.require_paths = ['lib']
         | 
| 15 | 
            +
              s.authors = ['Aurelian Oancea', 'Yury Korolev']
         | 
| 15 16 |  | 
| 16 | 
            -
              s.description =  | 
| 17 | 
            -
              s.email =  | 
| 18 | 
            -
              s.extensions = [ | 
| 19 | 
            -
              s.extra_rdoc_files = [ | 
| 17 | 
            +
              s.description = 'Expose the bundled libstemmer_c library to Ruby.'
         | 
| 18 | 
            +
              s.email = 'oancea@gmail.com'
         | 
| 19 | 
            +
              s.extensions = ['ext/lingua/extconf.rb']
         | 
| 20 | 
            +
              s.extra_rdoc_files = ['README.rdoc']
         | 
| 20 21 | 
             
              s.files = `git ls-files`.split("\n")
         | 
| 21 | 
            -
              s.homepage =  | 
| 22 | 
            -
              s.licenses = [ | 
| 23 | 
            -
              s.summary =  | 
| 22 | 
            +
              s.homepage = 'http://github.com/aurelian/ruby-stemmer'
         | 
| 23 | 
            +
              s.licenses = ['MIT']
         | 
| 24 | 
            +
              s.summary = 'Expose libstemmer_c to Ruby.'
         | 
| 24 25 |  | 
| 25 | 
            -
              s.add_development_dependency ' | 
| 26 | 
            -
              s.add_development_dependency ' | 
| 26 | 
            +
              s.add_development_dependency 'minitest', '~> 5.14'
         | 
| 27 | 
            +
              s.add_development_dependency 'rake-compiler', '~> 1.1'
         | 
| 27 28 | 
             
            end
         | 
| 28 | 
            -
             | 
    
        data/test/helper.rb
    CHANGED
    
    
    
        data/test/lingua/test_stemmer.rb
    CHANGED
    
    | @@ -1,8 +1,8 @@ | |
| 1 | 
            -
            #  | 
| 1 | 
            +
            # frozen_string_literal: true
         | 
| 2 | 
            +
             | 
| 2 3 | 
             
            require 'helper'
         | 
| 3 4 |  | 
| 4 5 | 
             
            class TestStemmer < Minitest::Test
         | 
| 5 | 
            -
             | 
| 6 6 | 
             
              def test_stemmer_creation
         | 
| 7 7 | 
             
                assert_kind_of ::Lingua::Stemmer, ::Lingua::Stemmer.new
         | 
| 8 8 | 
             
              end
         | 
| @@ -10,57 +10,52 @@ class TestStemmer < Minitest::Test | |
| 10 10 | 
             
              def test_exceptions
         | 
| 11 11 | 
             
                assert_raises ::Lingua::StemmerError do
         | 
| 12 12 | 
             
                  # invalid encoding for language
         | 
| 13 | 
            -
                  ::Lingua::Stemmer.new : | 
| 13 | 
            +
                  ::Lingua::Stemmer.new language: 'ro', encoding: 'ISO_8859_1'
         | 
| 14 14 | 
             
                end
         | 
| 15 15 | 
             
                assert_raises ::Lingua::StemmerError do
         | 
| 16 16 | 
             
                  # invalid language
         | 
| 17 | 
            -
                  ::Lingua::Stemmer.new : | 
| 17 | 
            +
                  ::Lingua::Stemmer.new language: 'cat'
         | 
| 18 18 | 
             
                end
         | 
| 19 19 | 
             
              end
         | 
| 20 20 |  | 
| 21 21 | 
             
              def test_latin
         | 
| 22 | 
            -
                ::Lingua::Stemmer.new : | 
| 23 | 
            -
              rescue StandardError =>  | 
| 24 | 
            -
                flunk "Expected latin to be loaded but failed with #{ | 
| 22 | 
            +
                ::Lingua::Stemmer.new language: 'latin', encoding: 'ISO_8859_1'
         | 
| 23 | 
            +
              rescue StandardError => e
         | 
| 24 | 
            +
                flunk "Expected latin to be loaded but failed with #{e}"
         | 
| 25 25 | 
             
              end
         | 
| 26 26 |  | 
| 27 27 | 
             
              def test_stem
         | 
| 28 | 
            -
                 | 
| 29 | 
            -
                assert_equal  | 
| 30 | 
            -
                assert_equal  | 
| 28 | 
            +
                stemmer = ::Lingua::Stemmer.new(language: 'en', encoding: 'UTF_8')
         | 
| 29 | 
            +
                assert_equal stemmer.stem('obnoxious'), 'obnoxi'
         | 
| 30 | 
            +
                assert_equal stemmer.stem('personalities'), 'person'
         | 
| 31 31 | 
             
              end
         | 
| 32 32 |  | 
| 33 33 | 
             
              def test_string_stemmer
         | 
| 34 | 
            -
                assert_equal ::Lingua.stemmer( | 
| 35 | 
            -
                stemmer= ::Lingua.stemmer( | 
| 36 | 
            -
                  assert_equal word,  | 
| 34 | 
            +
                assert_equal ::Lingua.stemmer('installation', language: 'en'), 'instal'
         | 
| 35 | 
            +
                stemmer = ::Lingua.stemmer('installation', language: 'fr') do |word|
         | 
| 36 | 
            +
                  assert_equal word, 'install'
         | 
| 37 37 | 
             
                end
         | 
| 38 38 | 
             
                assert_kind_of ::Lingua::Stemmer, stemmer
         | 
| 39 | 
            -
             | 
| 40 | 
            -
                if RUBY_VERSION >= '1.9'
         | 
| 41 | 
            -
                  assert_equal stemmer.encoding, Encoding::UTF_8
         | 
| 42 | 
            -
                else
         | 
| 43 | 
            -
                  assert_equal stemmer.encoding, "UTF_8"
         | 
| 44 | 
            -
                end
         | 
| 39 | 
            +
                assert_equal stemmer.encoding, Encoding::UTF_8
         | 
| 45 40 | 
             
              end
         | 
| 46 41 |  | 
| 47 42 | 
             
              def test_array_stemmer
         | 
| 48 | 
            -
                results= ::Lingua.stemmer([ | 
| 43 | 
            +
                results = ::Lingua.stemmer(%w[one two], language: 'de', encoding: 'ISO_8859_1')
         | 
| 49 44 | 
             
                assert_equal 2, results.size
         | 
| 50 45 | 
             
                assert_kind_of Array, results
         | 
| 51 46 | 
             
              end
         | 
| 52 47 |  | 
| 53 48 | 
             
              def test_array_stemmer_issue_22
         | 
| 54 | 
            -
                results= ::Lingua.stemmer([ | 
| 49 | 
            +
                results = ::Lingua.stemmer(['one'], language: 'de', encoding: 'ISO_8859_1')
         | 
| 55 50 | 
             
                assert_equal 1, results.size
         | 
| 56 51 | 
             
                assert_kind_of Array, results
         | 
| 57 52 | 
             
              end
         | 
| 58 53 |  | 
| 59 54 | 
             
              def test_stemmer_subclass
         | 
| 60 55 | 
             
                assert_raises(RuntimeError) do
         | 
| 61 | 
            -
                  Class.new(Lingua::Stemmer)  | 
| 62 | 
            -
                    def native_init | 
| 63 | 
            -
                   | 
| 56 | 
            +
                  Class.new(Lingua::Stemmer) do
         | 
| 57 | 
            +
                    def native_init(a, b); end
         | 
| 58 | 
            +
                  end.new.stem('cow')
         | 
| 64 59 | 
             
                end
         | 
| 65 60 | 
             
              end
         | 
| 66 61 |  | 
| @@ -68,44 +63,37 @@ class TestStemmer < Minitest::Test | |
| 68 63 | 
             
                if RUBY_VERSION >= '1.9'
         | 
| 69 64 | 
             
                  assert_equal ::Lingua::Stemmer.new.encoding, Encoding::UTF_8
         | 
| 70 65 | 
             
                else
         | 
| 71 | 
            -
                  assert_equal ::Lingua::Stemmer.new.encoding,  | 
| 66 | 
            +
                  assert_equal ::Lingua::Stemmer.new.encoding, 'UTF_8'
         | 
| 72 67 | 
             
                end
         | 
| 73 68 | 
             
              end
         | 
| 74 69 |  | 
| 75 70 | 
             
              def test_different_encoding_options
         | 
| 76 | 
            -
                 | 
| 77 | 
            -
             | 
| 78 | 
            -
             | 
| 79 | 
            -
             | 
| 80 | 
            -
             | 
| 81 | 
            -
                  assert_equal ::Lingua::Stemmer.new(:encoding => Encoding::UTF_8).encoding, Encoding::UTF_8
         | 
| 82 | 
            -
                else
         | 
| 83 | 
            -
                  assert_equal ::Lingua::Stemmer.new(:encoding => "ISO_8859_1").encoding, "ISO_8859_1"
         | 
| 84 | 
            -
                  assert_equal ::Lingua::Stemmer.new(:encoding => "UTF-8").encoding, "UTF_8"
         | 
| 85 | 
            -
                  assert_equal ::Lingua::Stemmer.new(:encoding => "utf-8").encoding, "UTF_8"
         | 
| 86 | 
            -
                  assert_equal ::Lingua::Stemmer.new(:encoding => :ISO_8859_1).encoding, "ISO_8859_1"
         | 
| 87 | 
            -
                end
         | 
| 71 | 
            +
                assert_equal ::Lingua::Stemmer.new(encoding: 'ISO_8859_1').encoding, Encoding::ISO_8859_1
         | 
| 72 | 
            +
                assert_equal ::Lingua::Stemmer.new(encoding: 'UTF-8').encoding, Encoding::UTF_8
         | 
| 73 | 
            +
                assert_equal ::Lingua::Stemmer.new(encoding: 'utf-8').encoding, Encoding::UTF_8
         | 
| 74 | 
            +
                assert_equal ::Lingua::Stemmer.new(encoding: :ISO_8859_1).encoding, Encoding::ISO_8859_1
         | 
| 75 | 
            +
                assert_equal ::Lingua::Stemmer.new(encoding: Encoding::UTF_8).encoding, Encoding::UTF_8
         | 
| 88 76 | 
             
              end
         | 
| 89 77 |  | 
| 90 | 
            -
               | 
| 91 | 
            -
                 | 
| 92 | 
            -
                  word = "așezare"
         | 
| 78 | 
            +
              def test_string_encoding
         | 
| 79 | 
            +
                word = 'așezare'
         | 
| 93 80 |  | 
| 94 | 
            -
             | 
| 95 | 
            -
             | 
| 81 | 
            +
                stem = ::Lingua.stemmer(word, language: 'ro', encoding: 'UTF_8')
         | 
| 82 | 
            +
                assert_equal word.encoding, stem.encoding
         | 
| 96 83 |  | 
| 97 | 
            -
             | 
| 98 | 
            -
             | 
| 84 | 
            +
                s = ::Lingua::Stemmer.new(language: 'ro', encoding: 'UTF_8')
         | 
| 85 | 
            +
                assert_equal s.stem(word).encoding, word.encoding
         | 
| 99 86 |  | 
| 100 | 
            -
             | 
| 101 | 
            -
             | 
| 102 | 
            -
             | 
| 87 | 
            +
                stem = ::Lingua.stemmer('installation', language: 'fr', encoding: 'ISO-8859-1')
         | 
| 88 | 
            +
                assert_equal stem.encoding, Encoding::ISO_8859_1
         | 
| 89 | 
            +
              end
         | 
| 103 90 |  | 
| 104 | 
            -
             | 
| 105 | 
            -
             | 
| 106 | 
            -
             | 
| 107 | 
            -
             | 
| 108 | 
            -
             | 
| 91 | 
            +
              def test_lithuanian_stem
         | 
| 92 | 
            +
                stemmer = ::Lingua::Stemmer.new(language: 'lt')
         | 
| 93 | 
            +
                %w[
         | 
| 94 | 
            +
                  kompiuteris kompiuterio kompiuteriui kompiuteriu kompiuteri
         | 
| 95 | 
            +
                ].each do |word|
         | 
| 96 | 
            +
                  assert_equal stemmer.stem(word), 'kompiuter'
         | 
| 109 97 | 
             
                end
         | 
| 110 98 | 
             
              end
         | 
| 111 99 | 
             
            end
         | 
    
        metadata
    CHANGED
    
    | @@ -1,44 +1,44 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: ruby-stemmer
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version:  | 
| 4 | 
            +
              version: 3.0.0
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Aurelian Oancea
         | 
| 8 8 | 
             
            - Yury Korolev
         | 
| 9 | 
            -
            autorequire: | 
| 9 | 
            +
            autorequire:
         | 
| 10 10 | 
             
            bindir: bin
         | 
| 11 11 | 
             
            cert_chain: []
         | 
| 12 | 
            -
            date:  | 
| 12 | 
            +
            date: 2020-10-16 00:00:00.000000000 Z
         | 
| 13 13 | 
             
            dependencies:
         | 
| 14 14 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 15 | 
            -
              name:  | 
| 15 | 
            +
              name: minitest
         | 
| 16 16 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 17 17 | 
             
                requirements:
         | 
| 18 18 | 
             
                - - "~>"
         | 
| 19 19 | 
             
                  - !ruby/object:Gem::Version
         | 
| 20 | 
            -
                    version: ' | 
| 20 | 
            +
                    version: '5.14'
         | 
| 21 21 | 
             
              type: :development
         | 
| 22 22 | 
             
              prerelease: false
         | 
| 23 23 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 24 24 | 
             
                requirements:
         | 
| 25 25 | 
             
                - - "~>"
         | 
| 26 26 | 
             
                  - !ruby/object:Gem::Version
         | 
| 27 | 
            -
                    version: ' | 
| 27 | 
            +
                    version: '5.14'
         | 
| 28 28 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 29 | 
            -
              name:  | 
| 29 | 
            +
              name: rake-compiler
         | 
| 30 30 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 31 31 | 
             
                requirements:
         | 
| 32 32 | 
             
                - - "~>"
         | 
| 33 33 | 
             
                  - !ruby/object:Gem::Version
         | 
| 34 | 
            -
                    version: ' | 
| 34 | 
            +
                    version: '1.1'
         | 
| 35 35 | 
             
              type: :development
         | 
| 36 36 | 
             
              prerelease: false
         | 
| 37 37 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 38 38 | 
             
                requirements:
         | 
| 39 39 | 
             
                - - "~>"
         | 
| 40 40 | 
             
                  - !ruby/object:Gem::Version
         | 
| 41 | 
            -
                    version: ' | 
| 41 | 
            +
                    version: '1.1'
         | 
| 42 42 | 
             
            description: Expose the bundled libstemmer_c library to Ruby.
         | 
| 43 43 | 
             
            email: oancea@gmail.com
         | 
| 44 44 | 
             
            executables: []
         | 
| @@ -151,7 +151,7 @@ homepage: http://github.com/aurelian/ruby-stemmer | |
| 151 151 | 
             
            licenses:
         | 
| 152 152 | 
             
            - MIT
         | 
| 153 153 | 
             
            metadata: {}
         | 
| 154 | 
            -
            post_install_message: | 
| 154 | 
            +
            post_install_message:
         | 
| 155 155 | 
             
            rdoc_options: []
         | 
| 156 156 | 
             
            require_paths:
         | 
| 157 157 | 
             
            - lib
         | 
| @@ -159,15 +159,15 @@ required_ruby_version: !ruby/object:Gem::Requirement | |
| 159 159 | 
             
              requirements:
         | 
| 160 160 | 
             
              - - ">="
         | 
| 161 161 | 
             
                - !ruby/object:Gem::Version
         | 
| 162 | 
            -
                  version:  | 
| 162 | 
            +
                  version: 2.4.0
         | 
| 163 163 | 
             
            required_rubygems_version: !ruby/object:Gem::Requirement
         | 
| 164 164 | 
             
              requirements:
         | 
| 165 165 | 
             
              - - ">="
         | 
| 166 166 | 
             
                - !ruby/object:Gem::Version
         | 
| 167 167 | 
             
                  version: '0'
         | 
| 168 168 | 
             
            requirements: []
         | 
| 169 | 
            -
            rubygems_version: 3.0. | 
| 170 | 
            -
            signing_key: | 
| 169 | 
            +
            rubygems_version: 3.2.0.rc.1
         | 
| 170 | 
            +
            signing_key:
         | 
| 171 171 | 
             
            specification_version: 4
         | 
| 172 172 | 
             
            summary: Expose libstemmer_c to Ruby.
         | 
| 173 173 | 
             
            test_files: []
         |