phony_rails 0.12.0 → 0.12.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 2b65451e2281a2975a3f79dcf31ca25dc60c7ad0
4
- data.tar.gz: 939a731c8afe851abf63610553b2cac826c5744e
3
+ metadata.gz: 89bf28723abfacd4fca598089c2c674668d21bed
4
+ data.tar.gz: a8611d6f572bb2e2713abff5d3846e09fb2fd1a6
5
5
  SHA512:
6
- metadata.gz: deaf1d6b24044a7dbf4267946a07d6262a9fab5e6d17736b49fa731ca8531793950721025227b78793da9d267d2c6e3c06c74aa8f4579b0ad6fe40c33bf76b29
7
- data.tar.gz: befd928d11956eced60622a6172df21786599c0cd84130a247b2aa5550d83071f87c33be4edb9425364b7df75164f2bfa58f9d2d92e664309d262d60a98c16c8
6
+ metadata.gz: d157afaff06b65a3f1af8f0c5aed1392eeb638071dc6dfec09a572c777f9a7427c35dc2c05180a9eccc42f2a72f39ca0bd1ba0a0aabcaaaf7185b2df2a33c683
7
+ data.tar.gz: f025d73b8f87578ce4866f1a0a012e32ab4e37ecb26d358c0040f8430daa5e15c18641a36d5cd23cc221e186b110c41627ce1df60b8880adb73d22a3b751d8ca
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- phony_rails (0.11.0)
4
+ phony_rails (0.12.0)
5
5
  activesupport (>= 3.0)
6
6
  countries (~> 0.8, >= 0.8.2)
7
7
  phony (~> 2.12)
@@ -9,34 +9,35 @@ PATH
9
9
  GEM
10
10
  remote: https://rubygems.org/
11
11
  specs:
12
- activemodel (4.1.8)
13
- activesupport (= 4.1.8)
12
+ activemodel (4.2.1)
13
+ activesupport (= 4.2.1)
14
14
  builder (~> 3.1)
15
- activerecord (4.1.8)
16
- activemodel (= 4.1.8)
17
- activesupport (= 4.1.8)
18
- arel (~> 5.0.0)
19
- activesupport (4.1.8)
20
- i18n (~> 0.6, >= 0.6.9)
15
+ activerecord (4.2.1)
16
+ activemodel (= 4.2.1)
17
+ activesupport (= 4.2.1)
18
+ arel (~> 6.0)
19
+ activesupport (4.2.1)
20
+ i18n (~> 0.7)
21
21
  json (~> 1.7, >= 1.7.7)
22
22
  minitest (~> 5.1)
23
- thread_safe (~> 0.1)
23
+ thread_safe (~> 0.3, >= 0.3.4)
24
24
  tzinfo (~> 1.1)
25
- arel (5.0.1.20140414130214)
25
+ arel (6.0.0)
26
26
  bson (2.3.0)
27
27
  builder (3.2.2)
28
28
  celluloid (0.16.0)
29
29
  timers (~> 4.0.0)
30
30
  coderay (1.1.0)
31
- connection_pool (2.1.0)
32
- countries (0.9.3)
31
+ connection_pool (2.1.3)
32
+ countries (0.11.3)
33
33
  currencies (~> 0.4.2)
34
+ i18n_data (~> 0.6.0)
34
35
  currencies (0.4.2)
35
36
  diff-lcs (1.2.5)
36
- ffi (1.9.6)
37
+ ffi (1.9.8)
37
38
  formatador (0.2.5)
38
39
  growl (1.0.3)
39
- guard (2.10.4)
40
+ guard (2.10.5)
40
41
  formatador (>= 0.2.4)
41
42
  listen (~> 2.7)
42
43
  lumberjack (~> 1.0)
@@ -50,28 +51,29 @@ GEM
50
51
  guard (~> 2.1)
51
52
  rspec (>= 2.14, < 4.0)
52
53
  hitimes (1.2.2)
53
- i18n (0.6.11)
54
- json (1.8.1)
55
- listen (2.8.3)
56
- celluloid (>= 0.15.2)
54
+ i18n (0.7.0)
55
+ i18n_data (0.6.3)
56
+ json (1.8.2)
57
+ listen (2.10.0)
58
+ celluloid (~> 0.16.0)
57
59
  rb-fsevent (>= 0.9.3)
58
60
  rb-inotify (>= 0.9)
59
61
  lumberjack (1.0.9)
60
62
  method_source (0.8.2)
61
- minitest (5.5.0)
62
- mongoid (4.0.0)
63
+ minitest (5.5.1)
64
+ mongoid (4.0.2)
63
65
  activemodel (~> 4.0)
64
66
  moped (~> 2.0.0)
65
67
  origin (~> 2.1)
66
68
  tzinfo (>= 0.3.37)
67
- moped (2.0.2)
69
+ moped (2.0.4)
68
70
  bson (~> 2.2)
69
71
  connection_pool (~> 2.0)
70
72
  optionable (~> 0.2.0)
71
- nenv (0.1.1)
73
+ nenv (0.2.0)
72
74
  optionable (0.2.0)
73
75
  origin (2.1.1)
74
- phony (2.12.4)
76
+ phony (2.12.6)
75
77
  pry (0.10.1)
76
78
  coderay (~> 1.1.0)
77
79
  method_source (~> 0.8.1)
@@ -91,7 +93,7 @@ GEM
91
93
  slop (3.6.0)
92
94
  sqlite3 (1.3.10)
93
95
  thor (0.19.1)
94
- thread_safe (0.3.4)
96
+ thread_safe (0.3.5)
95
97
  timers (4.0.1)
96
98
  hitimes
97
99
  tzinfo (1.2.2)
data/lib/phony_rails.rb CHANGED
@@ -27,11 +27,13 @@ module PhonyRails
27
27
  if _country_number = options[:country_number] || country_number_for(options[:country_code])
28
28
  options[:add_plus] = true if options[:add_plus].nil?
29
29
  # (Force) add country_number if missing
30
- number = "#{_country_number}#{number}" if not number =~ /\A(00|\+)?#{_country_number}/
30
+ # NOTE: do we need to force adding country code? Otherwise we can share lofic with next block
31
+ if !Phony.plausible?(number) || _country_number != country_code_from_number(number)
32
+ number = "#{_country_number}#{number}"
33
+ end
31
34
  elsif _default_country_number = options[:default_country_number] || country_number_for(options[:default_country_code])
32
35
  options[:add_plus] = true if options[:add_plus].nil?
33
- # Add default_country_number if missing
34
- number = "#{_default_country_number}#{number}" if not number =~ /\A(00|\+|#{_default_country_number})/
36
+ number = "#{_default_country_number}#{number}" unless Phony.plausible?(number)
35
37
  end
36
38
  normalized_number = Phony.normalize(number)
37
39
  options[:add_plus] = true if options[:add_plus].nil? && Phony.plausible?(normalized_number)
@@ -40,6 +42,11 @@ module PhonyRails
40
42
  number # If all goes wrong .. we still return the original input.
41
43
  end
42
44
 
45
+ def self.country_code_from_number(number)
46
+ return nil unless Phony.plausible?(number)
47
+ Phony.split(Phony.normalize(number)).first
48
+ end
49
+
43
50
  # Wrapper for Phony.plausible?. Takes the same options as #normalize_number.
44
51
  # NB: This method calls #normalize_number and passes _options_ directly to that method.
45
52
  def self.plausible_number?(number, options = {})
@@ -1,3 +1,3 @@
1
1
  module PhonyRails
2
- VERSION = "0.12.0"
2
+ VERSION = "0.12.1"
3
3
  end
@@ -98,6 +98,10 @@ describe PhonyRails do
98
98
  PhonyRails.normalize_number("0606060606", default_country_code: 'FR').should eq('+33606060606')
99
99
  end
100
100
 
101
+ it "should pass issue Github issue #85" do
102
+ PhonyRails.normalize_number("47386160", default_country_code: 'NO').should eq('+4747386160')
103
+ PhonyRails.normalize_number("47386160", country_number: '47').should eq('+4747386160')
104
+ end
101
105
  end
102
106
 
103
107
  it "should not change original String" do
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: phony_rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.12.0
4
+ version: 0.12.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Joost Hietbrink
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-03-26 00:00:00.000000000 Z
11
+ date: 2015-04-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: phony