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.
- checksums.yaml +7 -0
- data/Gemfile +2 -1
- data/Gemfile.lock +4 -2
- data/iso-639.gemspec +8 -5
- data/lib/iso-639.rb +14 -4
- data/test/helper.rb +2 -2
- data/test/test_ISO_639.rb +12 -0
- metadata +70 -76
checksums.yaml
ADDED
@@ -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 "
|
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"
|
data/Gemfile.lock
CHANGED
@@ -7,7 +7,8 @@ GEM
|
|
7
7
|
i18n (0.6.1)
|
8
8
|
json (1.7.5)
|
9
9
|
metaclass (0.0.1)
|
10
|
-
|
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
|
-
|
28
|
+
minitest (~> 4.7.5)
|
29
|
+
mocha (~> 0.14.0)
|
28
30
|
rake
|
29
31
|
rdoc (~> 3.12)
|
30
32
|
shoulda
|
data/iso-639.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = "iso-639"
|
8
|
-
s.version = "0.2.
|
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 = "
|
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<
|
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<
|
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<
|
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
|
data/lib/iso-639.rb
CHANGED
@@ -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
|
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
|
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
|
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
|
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 : []
|
data/test/helper.rb
CHANGED
@@ -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
|
data/test/test_ISO_639.rb
CHANGED
@@ -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
|
-
|
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
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
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
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
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
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
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
|
-
|
53
|
-
|
54
|
-
|
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
|
-
|
58
|
-
segments:
|
59
|
-
- 0
|
60
|
-
version: "0"
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
61
62
|
type: :development
|
62
|
-
|
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
|
-
|
93
|
-
requirements:
|
95
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
96
|
+
requirements:
|
94
97
|
- - ">="
|
95
|
-
- !ruby/object:Gem::Version
|
96
|
-
|
97
|
-
|
98
|
-
|
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
|
-
|
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:
|
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
|
-
|