msisdn-za 0.1.3 → 0.1.4
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.
- data/README.rdoc +12 -1
- data/VERSION +1 -1
- data/lib/msisdn.rb +10 -7
- data/msisdn-za.gemspec +2 -2
- data/test/test_msisdn.rb +16 -6
- metadata +4 -4
data/README.rdoc
CHANGED
@@ -15,7 +15,18 @@ None that I can think of..
|
|
15
15
|
|
16
16
|
== Install
|
17
17
|
|
18
|
-
sudo gem install msisdn-za
|
18
|
+
sudo gem install msisdn-za
|
19
|
+
|
20
|
+
== Usage
|
21
|
+
|
22
|
+
In rails, put this in one of your environment files:
|
23
|
+
|
24
|
+
gem.config 'msisdn-za', :lib => 'msisdn'
|
25
|
+
|
26
|
+
Elsewhere, just:
|
27
|
+
|
28
|
+
gem 'msisdn-za'
|
29
|
+
require 'msisdn'
|
19
30
|
|
20
31
|
== Copyright
|
21
32
|
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.1.
|
1
|
+
0.1.4
|
data/lib/msisdn.rb
CHANGED
@@ -27,30 +27,33 @@ class Msisdn
|
|
27
27
|
@country_code = default_country_code
|
28
28
|
end
|
29
29
|
|
30
|
-
def
|
30
|
+
def international_number
|
31
31
|
"27#{@local_dialing_code.gsub(/^0+/, '')}#{@national_number}"
|
32
32
|
end
|
33
33
|
|
34
|
-
def
|
34
|
+
def international_number_with_prefix
|
35
35
|
"+#{international}"
|
36
36
|
end
|
37
37
|
|
38
38
|
def valid?
|
39
|
-
|
39
|
+
valid_national_number? && valid_local_dialing_code?
|
40
40
|
end
|
41
41
|
|
42
42
|
# a national number is valid if it has 7 digits and doesn't start with zeroes
|
43
|
-
def
|
44
|
-
|
43
|
+
def valid_national_number?
|
44
|
+
# removing the check for leading zero, since it is breaking things,
|
45
|
+
# like the number 0730711059
|
46
|
+
# @national_number =~ /^\d{7}$/ && @national_number !~ /^0/
|
47
|
+
return (@national_number =~ /^\d{7}$/) ? true : false
|
45
48
|
end
|
46
49
|
|
47
50
|
# a valid local dialing code should be three digits long and start with a zero
|
48
51
|
def valid_local_dialing_code?
|
49
|
-
@local_dialing_code =~ /^[\d][^0]{2}$/
|
52
|
+
return (@local_dialing_code =~ /^[\d][^0]{2}$/) ? true : false
|
50
53
|
end
|
51
54
|
|
52
55
|
def to_s
|
53
|
-
|
56
|
+
international_number
|
54
57
|
end
|
55
58
|
|
56
59
|
end
|
data/msisdn-za.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{msisdn-za}
|
8
|
-
s.version = "0.1.
|
8
|
+
s.version = "0.1.4"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Craig Paterson"]
|
12
|
-
s.date = %q{2010-
|
12
|
+
s.date = %q{2010-09-22}
|
13
13
|
s.description = %q{ZA MSISDN parser simplified, based on work by armanddp}
|
14
14
|
s.email = %q{darksavant@gmail.com}
|
15
15
|
s.extra_rdoc_files = [
|
data/test/test_msisdn.rb
CHANGED
@@ -10,8 +10,8 @@ class TestMsisdn < Test::Unit::TestCase
|
|
10
10
|
end
|
11
11
|
|
12
12
|
should "return the correct international number" do
|
13
|
-
assert_equal '27835559629', @msisdn.
|
14
|
-
assert_equal @msisdn.
|
13
|
+
assert_equal '27835559629', @msisdn.international_number
|
14
|
+
assert_equal @msisdn.international_number, @msisdn2.international_number
|
15
15
|
end
|
16
16
|
|
17
17
|
should "be valid" do
|
@@ -29,12 +29,10 @@ class TestMsisdn < Test::Unit::TestCase
|
|
29
29
|
|
30
30
|
should "return the correct country code and international number" do
|
31
31
|
assert_equal '27', @msisdn.country_code
|
32
|
-
assert_equal '27835559629', @msisdn.
|
32
|
+
assert_equal '27835559629', @msisdn.international_number
|
33
33
|
end
|
34
34
|
|
35
35
|
should "be valid" do
|
36
|
-
puts "CLASS: #{@msisdn.class.name}"
|
37
|
-
puts "DIAL CODE: #{@msisdn.local_dialing_code}"
|
38
36
|
assert @msisdn.valid?
|
39
37
|
end
|
40
38
|
|
@@ -44,10 +42,22 @@ class TestMsisdn < Test::Unit::TestCase
|
|
44
42
|
|
45
43
|
should "not be valid" do
|
46
44
|
msisdn = Msisdn.new('278259629')
|
47
|
-
puts msisdn.inspect
|
48
45
|
assert !msisdn.valid?
|
49
46
|
end
|
50
47
|
|
51
48
|
end
|
49
|
+
|
50
|
+
context "a known broken msisdn" do
|
51
|
+
setup do
|
52
|
+
@msisdn = Msisdn.new("0730670000")
|
53
|
+
end
|
54
|
+
|
55
|
+
should "sort its shit out ffs" do
|
56
|
+
assert_equal @msisdn.local_dialing_code, "073"
|
57
|
+
assert_equal @msisdn.national_number, "0670000"
|
58
|
+
assert_equal @msisdn.international_number, "27730670000"
|
59
|
+
assert @msisdn.valid?
|
60
|
+
end
|
61
|
+
end
|
52
62
|
|
53
63
|
end
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: msisdn-za
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 19
|
5
5
|
prerelease: false
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 1
|
9
|
-
-
|
10
|
-
version: 0.1.
|
9
|
+
- 4
|
10
|
+
version: 0.1.4
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Craig Paterson
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2010-
|
18
|
+
date: 2010-09-22 00:00:00 +02:00
|
19
19
|
default_executable:
|
20
20
|
dependencies:
|
21
21
|
- !ruby/object:Gem::Dependency
|