iso-639 0.2.4 → 0.2.5

Sign up to get free protection for your applications and to get access to all the features.
@@ -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
-