regional 0.1.0 → 0.1.1
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/features/determine_inclusion.feature +6 -1
- data/features/postal_codes.feature +16 -3
- data/lib/regional/version.rb +1 -1
- data/lib/regional/zone.rb +5 -2
- data/regional.gemspec +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8e56f497c7d6266cacc96ab0624b57ecdf8214c2
|
4
|
+
data.tar.gz: 09c57da333a7c637a4182814d791398d7e4a04b3
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3764f6b9cea8ac9e8a2e4a4fdef490d2aac0e9c4544081c88de31fdae4fdf72d66b133685fcb0663e2ac261de389bb8dab6f820b3f4d3343ec5aacd9767d3690
|
7
|
+
data.tar.gz: ce4c4bb151d229c8244b735b6fd9bed84642e78e450a8f13c3c846a113a32ad3dae8c8a0675e6887c22bca086b4ac1348a2859a78ca0ed836621dd0c1c36b2da
|
@@ -30,5 +30,10 @@ Feature: Determine whether postal code is in range
|
|
30
30
|
|
31
31
|
Scenario: No range
|
32
32
|
Given the zone is ""
|
33
|
+
Then H0H 0H0 should not be included
|
34
|
+
Then V1A 0B3 should not be included
|
35
|
+
|
36
|
+
Scenario: Everywhere
|
37
|
+
Given the zone is "*"
|
33
38
|
Then H0H 0H0 should be included
|
34
|
-
Then
|
39
|
+
Then T1A 2P4 should be included
|
@@ -18,9 +18,22 @@ Feature: Understand Canadian postal codes
|
|
18
18
|
| A1A 1AA |
|
19
19
|
| 1A1 A1A |
|
20
20
|
|
21
|
-
Scenario: Gibberish
|
22
|
-
When I enter postal code
|
23
|
-
Then it
|
21
|
+
Scenario Outline: Gibberish
|
22
|
+
When I enter postal code <input>
|
23
|
+
Then it's an error
|
24
|
+
|
25
|
+
Examples:
|
26
|
+
| input |
|
27
|
+
| BOB LOBLAW |
|
28
|
+
| U*FOO |
|
29
|
+
| foofooo |
|
30
|
+
| JP1 DDD |
|
31
|
+
| GGGGgg! |
|
32
|
+
| ++++ |
|
33
|
+
| Marcel |
|
34
|
+
| Leboeuf |
|
35
|
+
| 0 |
|
36
|
+
| J7Y |
|
24
37
|
|
25
38
|
Scenario Outline: Forbidden letters
|
26
39
|
When I enter postal code <input>
|
data/lib/regional/version.rb
CHANGED
data/lib/regional/zone.rb
CHANGED
@@ -2,7 +2,12 @@ module Regional
|
|
2
2
|
class Zone
|
3
3
|
attr_reader :components
|
4
4
|
|
5
|
+
# Make a zone of included ranges. A value of +nil+ means nowhere.
|
6
|
+
# +"*"+ means _everywhere_. Literally _everywhere_.
|
5
7
|
def initialize(zone)
|
8
|
+
return unless zone
|
9
|
+
return @components = ["0".."ZZZZZZ"] if zone == "*"
|
10
|
+
|
6
11
|
@components = zone.split(/,\s*/).map do |str|
|
7
12
|
array = str.split("-")
|
8
13
|
|
@@ -14,8 +19,6 @@ module Regional
|
|
14
19
|
raise ArgumentError, "Range can only have one hyphen"
|
15
20
|
end
|
16
21
|
end
|
17
|
-
|
18
|
-
@components[0] ||= "0".."ZZZZZZ"
|
19
22
|
end
|
20
23
|
|
21
24
|
def cover?(area)
|
data/regional.gemspec
CHANGED
@@ -10,7 +10,7 @@ Gem::Specification.new do |spec|
|
|
10
10
|
spec.email = ["jonathan@allard.io"]
|
11
11
|
spec.description = %q{Regional allows defining regions and testing what's inside it.}
|
12
12
|
spec.summary = spec.description
|
13
|
-
spec.homepage = ""
|
13
|
+
spec.homepage = "https://github.com/joallard/regional"
|
14
14
|
spec.license = "MIT"
|
15
15
|
|
16
16
|
spec.files = `git ls-files`.split($/)
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: regional
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jonathan Allard
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-
|
11
|
+
date: 2013-07-20 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -103,7 +103,7 @@ files:
|
|
103
103
|
- lib/regional/version.rb
|
104
104
|
- lib/regional/zone.rb
|
105
105
|
- regional.gemspec
|
106
|
-
homepage:
|
106
|
+
homepage: https://github.com/joallard/regional
|
107
107
|
licenses:
|
108
108
|
- MIT
|
109
109
|
metadata: {}
|