divISOr 0.0.1 → 1.0.0
Sign up to get free protection for your applications and to get access to all the features.
- data/VERSION +1 -1
- data/divISOr.gemspec +5 -2
- data/lib/divISOr/divISOr.rb +33 -3
- data/lib/divISOr/hash_wrapper.rb +18 -0
- data/lib/divISOr/iso.rb +7 -0
- data/lib/divISOr/iso10383.rb +8 -2
- data/lib/divISOr/iso3166.rb +8 -2
- data/lib/divISOr/iso4217.rb +8 -2
- data/lib/divISOr/iso_data/10383 +246 -246
- data/lib/divISOr/iso_records.rb +6 -0
- data/lib/divISOr.rb +1 -0
- data/spec/divISOr/iso10383_spec.rb +23 -0
- data/spec/divISOr/iso3166_spec.rb +23 -1
- data/spec/divISOr/iso4217_spec.rb +52 -0
- data/spec/divISOr/iso_records_spec.rb +21 -0
- data/spec/divISOr_spec.rb +86 -6
- data/spec/iso_data/simple_data +1 -0
- metadata +7 -4
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.0
|
1
|
+
1.0.0
|
data/divISOr.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{divISOr}
|
8
|
-
s.version = "0.0
|
8
|
+
s.version = "1.0.0"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["David Henry and Alberto Pe\303\261a"]
|
12
|
-
s.date = %q{2011-06-
|
12
|
+
s.date = %q{2011-06-29}
|
13
13
|
s.description = %q{Validate and look up functionality for ISO standards}
|
14
14
|
s.email = %q{dave_henry@lyagushka.co.uk}
|
15
15
|
s.extra_rdoc_files = [
|
@@ -29,6 +29,7 @@ Gem::Specification.new do |s|
|
|
29
29
|
"divISOr.gemspec",
|
30
30
|
"lib/divISOr.rb",
|
31
31
|
"lib/divISOr/divISOr.rb",
|
32
|
+
"lib/divISOr/hash_wrapper.rb",
|
32
33
|
"lib/divISOr/iso.rb",
|
33
34
|
"lib/divISOr/iso10383.rb",
|
34
35
|
"lib/divISOr/iso3166.rb",
|
@@ -37,7 +38,9 @@ Gem::Specification.new do |s|
|
|
37
38
|
"lib/divISOr/iso_data/3166",
|
38
39
|
"lib/divISOr/iso_data/4217",
|
39
40
|
"lib/divISOr/iso_records.rb",
|
41
|
+
"spec/divISOr/iso10383_spec.rb",
|
40
42
|
"spec/divISOr/iso3166_spec.rb",
|
43
|
+
"spec/divISOr/iso4217_spec.rb",
|
41
44
|
"spec/divISOr/iso_records_spec.rb",
|
42
45
|
"spec/divISOr_spec.rb",
|
43
46
|
"spec/iso_data/complex_data",
|
data/lib/divISOr/divISOr.rb
CHANGED
@@ -1,14 +1,44 @@
|
|
1
1
|
class DivISOr
|
2
2
|
def self.validate_iso3166(*args)
|
3
|
-
ISO3166.new.validate(*args)
|
3
|
+
ISO3166::Codes.new.validate(*args)
|
4
4
|
end
|
5
5
|
|
6
6
|
def self.validate_iso4217(*args)
|
7
|
-
ISO4217.new.validate(*args)
|
7
|
+
ISO4217::Codes.new.validate(*args)
|
8
8
|
end
|
9
9
|
|
10
10
|
def self.validate_iso10383(*args)
|
11
|
-
ISO10383.new.validate(*args)
|
11
|
+
ISO10383::Codes.new.validate(*args)
|
12
12
|
end
|
13
13
|
|
14
|
+
def self.iso4217(*args)
|
15
|
+
self.all(ISO4217, args)
|
16
|
+
end
|
17
|
+
|
18
|
+
def self.iso3166(*args)
|
19
|
+
self.all(ISO3166, args).first
|
20
|
+
end
|
21
|
+
|
22
|
+
def self.iso10383(*args)
|
23
|
+
self.all(ISO10383, args).first
|
24
|
+
end
|
25
|
+
|
26
|
+
def self.list_iso4217
|
27
|
+
self.all(ISO4217)
|
28
|
+
end
|
29
|
+
|
30
|
+
def self.list_iso3166
|
31
|
+
self.all(ISO3166)
|
32
|
+
end
|
33
|
+
|
34
|
+
def self.list_iso10383
|
35
|
+
self.all(ISO10383)
|
36
|
+
end
|
37
|
+
|
38
|
+
private
|
39
|
+
def self.all(object, args=nil)
|
40
|
+
object::Codes.new.all(*args) do |record|
|
41
|
+
object.new(record)
|
42
|
+
end
|
43
|
+
end
|
14
44
|
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
module HashWrapper
|
2
|
+
def self.included(base)
|
3
|
+
base.send(:attr_reader,:data)
|
4
|
+
end
|
5
|
+
|
6
|
+
def initialize(data)
|
7
|
+
@data = data
|
8
|
+
end
|
9
|
+
|
10
|
+
def ==(object)
|
11
|
+
@data == object.data
|
12
|
+
end
|
13
|
+
|
14
|
+
def method_missing(method, *args, &block)
|
15
|
+
super unless self.class::FIELDS.include?(method)
|
16
|
+
data[method].to_s
|
17
|
+
end
|
18
|
+
end
|
data/lib/divISOr/iso.rb
CHANGED
@@ -1,3 +1,4 @@
|
|
1
|
+
require 'ruby-debug'
|
1
2
|
module ISO
|
2
3
|
def initialize
|
3
4
|
@iso_records = ISORecords.new self.file_data
|
@@ -7,6 +8,12 @@ module ISO
|
|
7
8
|
values(field).include?(value.upcase)
|
8
9
|
end
|
9
10
|
|
11
|
+
def all(value, field=:code)
|
12
|
+
@iso_records.all(value, field).map do |record|
|
13
|
+
yield record
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
10
17
|
private
|
11
18
|
def values(field)
|
12
19
|
@iso_records.values_for(field)
|
data/lib/divISOr/iso10383.rb
CHANGED
data/lib/divISOr/iso3166.rb
CHANGED