iso-639 0.2.4 → 0.2.5

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.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 2c1644722c56e4a17a8fdcfa3bfcd4b8b48842e2
4
+ data.tar.gz: ea8dbec6a423b9eaeaef0dcc262543568fe7ca1e
5
+ SHA512:
6
+ metadata.gz: 55341b7cb9629618bd6233a96bbf154437530765a67f0e62dad891efd358dad2b7b64beef8bf10dcefe8c7f1a57a0e22f1da4617061e69444b04a44d3f065d3d
7
+ data.tar.gz: d9528fe3161762d4602b8bbc7c1a41196b9b5333d0182d6f0da8f80708209203db9d72a58ddb376823f8c8463ae263a35eaf9aa4dfd7906fb7c2fb809c6e89b9
data/Gemfile CHANGED
@@ -6,7 +6,8 @@ source "http://rubygems.org"
6
6
  # Add dependencies to develop your gem here.
7
7
  # Include everything needed to run rake, tests, features, etc.
8
8
  group :development, :test do
9
- gem "mocha", ">= 0"
9
+ gem "minitest", "~> 4.7.5"
10
+ gem "mocha", "~> 0.14.0"
10
11
  gem "rdoc", "~> 3.12"
11
12
  gem "shoulda", ">= 0"
12
13
  gem "rake"
@@ -7,7 +7,8 @@ GEM
7
7
  i18n (0.6.1)
8
8
  json (1.7.5)
9
9
  metaclass (0.0.1)
10
- mocha (0.12.7)
10
+ minitest (4.7.5)
11
+ mocha (0.14.0)
11
12
  metaclass (~> 0.0.1)
12
13
  multi_json (1.3.6)
13
14
  rake (0.9.2.2)
@@ -24,7 +25,8 @@ PLATFORMS
24
25
  ruby
25
26
 
26
27
  DEPENDENCIES
27
- mocha
28
+ minitest (~> 4.7.5)
29
+ mocha (~> 0.14.0)
28
30
  rake
29
31
  rdoc (~> 3.12)
30
32
  shoulda
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "iso-639"
8
- s.version = "0.2.4"
8
+ s.version = "0.2.5"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["William Melody"]
12
- s.date = "2013-10-23"
12
+ s.date = "2014-07-20"
13
13
  s.description = "ISO 639-1 and ISO 639-2 language code entries and convenience methods"
14
14
  s.email = "hi@williammelody.com"
15
15
  s.extra_rdoc_files = [
@@ -38,16 +38,19 @@ Gem::Specification.new do |s|
38
38
  s.specification_version = 3
39
39
 
40
40
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
41
- s.add_development_dependency(%q<mocha>, [">= 0"])
41
+ s.add_development_dependency(%q<minitest>, ["~> 4.7.5"])
42
+ s.add_development_dependency(%q<mocha>, ["~> 0.14.0"])
42
43
  s.add_development_dependency(%q<rdoc>, ["~> 3.12"])
43
44
  s.add_development_dependency(%q<shoulda>, [">= 0"])
44
45
  else
45
- s.add_dependency(%q<mocha>, [">= 0"])
46
+ s.add_dependency(%q<minitest>, ["~> 4.7.5"])
47
+ s.add_dependency(%q<mocha>, ["~> 0.14.0"])
46
48
  s.add_dependency(%q<rdoc>, ["~> 3.12"])
47
49
  s.add_dependency(%q<shoulda>, [">= 0"])
48
50
  end
49
51
  else
50
- s.add_dependency(%q<mocha>, [">= 0"])
52
+ s.add_dependency(%q<minitest>, ["~> 4.7.5"])
53
+ s.add_dependency(%q<mocha>, ["~> 0.14.0"])
51
54
  s.add_dependency(%q<rdoc>, ["~> 3.12"])
52
55
  s.add_dependency(%q<shoulda>, [">= 0"])
53
56
  end
@@ -534,29 +534,39 @@ class ISO_639 < Array
534
534
  class << self
535
535
  # Returns the entry array for an alpha-2 or alpha-3 code
536
536
  def find_by_code(code)
537
+ return if code.nil?
537
538
  case code.length
538
539
  when 3
539
- ISO_639_2.detect { |entry| entry if entry.alpha3 == code || entry.alpha3_terminologic == code }
540
+ ISO_639_2.detect do |entry|
541
+ entry if entry.alpha3 == code || entry.alpha3_terminologic == code
542
+ end
540
543
  when 2
541
- ISO_639_1.detect { |entry| entry if entry.alpha2 == code }
544
+ ISO_639_1.detect do |entry|
545
+ entry if entry.alpha2 == code
546
+ end
542
547
  end
543
548
  end
544
549
  alias_method :find, :find_by_code
545
550
 
546
551
  # Returns the entry array for a language specified by its English name.
547
552
  def find_by_english_name(name)
548
- ISO_639_2.detect { |entry| entry if entry.english_name == name }
553
+ ISO_639_2.detect do |entry|
554
+ entry if entry.english_name == name
555
+ end
549
556
  end
550
557
 
551
558
  # Returns the entry array for a language specified by its French name.
552
559
  def find_by_french_name(name)
553
- ISO_639_2.detect { |entry| entry if entry.french_name == name }
560
+ ISO_639_2.detect do |entry|
561
+ entry if entry.french_name == name
562
+ end
554
563
  end
555
564
 
556
565
  # Returns an array of matches for the search term. The term can be a code
557
566
  # of any kind, or it can be one of the words contained in the English or
558
567
  # French name field.
559
568
  def search(term)
569
+ term ||= ''
560
570
  normalized_term = term.downcase.strip
561
571
  indexes = INVERTED_INDEX[normalized_term]
562
572
  indexes ? ISO_639_2.values_at(*indexes).uniq : []
@@ -9,11 +9,11 @@ rescue Bundler::BundlerError => e
9
9
  end
10
10
  require 'test/unit'
11
11
  require 'shoulda'
12
- require 'mocha'
12
+ require 'mocha/setup'
13
13
 
14
14
  $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
15
15
  $LOAD_PATH.unshift(File.dirname(__FILE__))
16
16
  require 'iso-639'
17
17
 
18
18
  class Test::Unit::TestCase
19
- end
19
+ end
@@ -11,6 +11,14 @@ class TestISO639 < Test::Unit::TestCase
11
11
  assert_equal 184, ISO_639::ISO_639_1.length
12
12
  end
13
13
 
14
+ should "return nil find_by_code when code does not exist or is invalid" do
15
+ assert ISO_639.find_by_code(nil).nil?, 'nil code'
16
+ assert ISO_639.find_by_code('xxx').nil?, 'xxx alfa-3 not existing code'
17
+ assert ISO_639.find_by_code('xx').nil?, 'xx alfa-2 not existing code'
18
+ assert ISO_639.find_by_code('xxxx').nil?, 'xxxx lengthy code'
19
+ assert ISO_639.find_by_code('').nil? ,'empty string code'
20
+ end
21
+
14
22
  should "return entry for alpha-2 code" do
15
23
  assert_equal ["eng", "", "en", "English", "anglais"], ISO_639.find_by_code("en")
16
24
  assert_equal ["eng", "", "en", "English", "anglais"], ISO_639.find("en")
@@ -73,6 +81,10 @@ class TestISO639 < Test::Unit::TestCase
73
81
  )
74
82
  end
75
83
 
84
+ should "return empty array when searching a nil term" do
85
+ assert_equal [], ISO_639.search(nil)
86
+ end
87
+
76
88
  should "return single record array by searching a unique multi-word term" do
77
89
  assert_equal(
78
90
  [["ypk", "", "", "Yupik languages", "yupik, langues"]],
metadata CHANGED
@@ -1,76 +1,80 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: iso-639
3
- version: !ruby/object:Gem::Version
4
- hash: 31
5
- prerelease:
6
- segments:
7
- - 0
8
- - 2
9
- - 4
10
- version: 0.2.4
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.2.5
11
5
  platform: ruby
12
- authors:
6
+ authors:
13
7
  - William Melody
14
8
  autorequire:
15
9
  bindir: bin
16
10
  cert_chain: []
17
-
18
- date: 2013-10-23 00:00:00 Z
19
- dependencies:
20
- - !ruby/object:Gem::Dependency
21
- name: mocha
11
+ date: 2014-07-20 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: minitest
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: 4.7.5
20
+ type: :development
22
21
  prerelease: false
23
- requirement: &id001 !ruby/object:Gem::Requirement
24
- none: false
25
- requirements:
26
- - - ">="
27
- - !ruby/object:Gem::Version
28
- hash: 3
29
- segments:
30
- - 0
31
- version: "0"
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: 4.7.5
27
+ - !ruby/object:Gem::Dependency
28
+ name: mocha
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: 0.14.0
32
34
  type: :development
33
- version_requirements: *id001
34
- - !ruby/object:Gem::Dependency
35
- name: rdoc
36
35
  prerelease: false
37
- requirement: &id002 !ruby/object:Gem::Requirement
38
- none: false
39
- requirements:
40
- - - ~>
41
- - !ruby/object:Gem::Version
42
- hash: 31
43
- segments:
44
- - 3
45
- - 12
46
- version: "3.12"
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: 0.14.0
41
+ - !ruby/object:Gem::Dependency
42
+ name: rdoc
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '3.12'
47
48
  type: :development
48
- version_requirements: *id002
49
- - !ruby/object:Gem::Dependency
50
- name: shoulda
51
49
  prerelease: false
52
- requirement: &id003 !ruby/object:Gem::Requirement
53
- none: false
54
- requirements:
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '3.12'
55
+ - !ruby/object:Gem::Dependency
56
+ name: shoulda
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
55
59
  - - ">="
56
- - !ruby/object:Gem::Version
57
- hash: 3
58
- segments:
59
- - 0
60
- version: "0"
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
61
62
  type: :development
62
- version_requirements: *id003
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
63
69
  description: ISO 639-1 and ISO 639-2 language code entries and convenience methods
64
70
  email: hi@williammelody.com
65
71
  executables: []
66
-
67
72
  extensions: []
68
-
69
- extra_rdoc_files:
73
+ extra_rdoc_files:
70
74
  - LICENSE
71
75
  - README.markdown
72
- files:
73
- - .document
76
+ files:
77
+ - ".document"
74
78
  - Gemfile
75
79
  - Gemfile.lock
76
80
  - LICENSE
@@ -81,37 +85,27 @@ files:
81
85
  - test/helper.rb
82
86
  - test/test_ISO_639.rb
83
87
  homepage: http://github.com/alphabetum/iso-639
84
- licenses:
88
+ licenses:
85
89
  - MIT
90
+ metadata: {}
86
91
  post_install_message:
87
92
  rdoc_options: []
88
-
89
- require_paths:
93
+ require_paths:
90
94
  - lib
91
- required_ruby_version: !ruby/object:Gem::Requirement
92
- none: false
93
- requirements:
95
+ required_ruby_version: !ruby/object:Gem::Requirement
96
+ requirements:
94
97
  - - ">="
95
- - !ruby/object:Gem::Version
96
- hash: 3
97
- segments:
98
- - 0
99
- version: "0"
100
- required_rubygems_version: !ruby/object:Gem::Requirement
101
- none: false
102
- requirements:
98
+ - !ruby/object:Gem::Version
99
+ version: '0'
100
+ required_rubygems_version: !ruby/object:Gem::Requirement
101
+ requirements:
103
102
  - - ">="
104
- - !ruby/object:Gem::Version
105
- hash: 3
106
- segments:
107
- - 0
108
- version: "0"
103
+ - !ruby/object:Gem::Version
104
+ version: '0'
109
105
  requirements: []
110
-
111
106
  rubyforge_project:
112
- rubygems_version: 1.8.23
107
+ rubygems_version: 2.2.1
113
108
  signing_key:
114
109
  specification_version: 3
115
110
  summary: ISO 639-1 and ISO 639-2 language code entries and convenience methods
116
111
  test_files: []
117
-