mobile-subscriber 0.0.1.alpha3 → 0.0.1.alpha4

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: 05c532c346541fb9e968134f7513aae13e009372
4
- data.tar.gz: 3397d7e1ab671876b3d3b20f435451369c8f40a8
3
+ metadata.gz: ae7f7ff2ab99759a49beef779711360052c0cc85
4
+ data.tar.gz: daa60ed245a79d3161c29f142244866c4afb2016
5
5
  SHA512:
6
- metadata.gz: 96511b79ddd731ced98b6c72f626d70971725fac9820e0515c0f62d53a6c4564f6a168ef916d0d9119578ddf60144bd6a349519ec41717fb732a7f8130a92c58
7
- data.tar.gz: 7acf06ddc07c20291526bf1940212229d4de5907e70f45a447f5cb93a9044513b339becc1f5293ac34f9a87c40d9b04a0954e1d24dd389d03dd84d1c7014759d
6
+ metadata.gz: 4781b295edb467703313ed06d9167998d457a5418445b52a31915563eea46e53561a0ec144cff37eaceba3ab0b264eae875d0445579ef644a87b0cc0b6747b67
7
+ data.tar.gz: f237cdbbc072af9ad6f4389fbcab25052982041727086a4a422035317b29842e43393fa33e08988a636e9598d2135b03123fb668afc066b134c5c60d44c2a357
@@ -10,7 +10,8 @@ module MobileSubscriber
10
10
  extend ActiveSupport::Autoload
11
11
  autoload :FromMsisdnHttpRequestHeader
12
12
  autoload :FromXNokiaMsisdnHttpRequestHeader
13
- autoload :FromXUpChMsisdnHttpRequestHeader
14
13
  autoload :FromXUpCallingLineIdHttpRequestHeader
14
+ autoload :FromXUpChMsisdnHttpRequestHeader
15
+ autoload :FromXUpSubnoHttpRequestHeader
15
16
  end
16
17
  end
@@ -1,9 +1,21 @@
1
+ require 'mobile_subscriber/dictionaries/dialing_and_country_codes'
2
+
1
3
  module MobileSubscriber
2
4
  module Detection
3
5
 
4
- # Módulo que provee métodos de deteccion y validacion para MSISDN por el
6
+ # Módulo que provee métodos de detección y validacion para MSISDN por el
5
7
  # header de HTTP 'Msisdn':
6
- # - Vivo Brasil
8
+ # - Claro Brasil
9
+ # - Claro Chile
10
+ # - Claro Colombia
11
+ # - Claro Costa Rica
12
+ # - Claro República Dominicana
13
+ # - Claro Ecuador
14
+ # - Claro El Salvador
15
+ # - Claro Guatemala
16
+ # - Claro Nicaragua
17
+ # - Claro Panamá
18
+ # - Claro Paraguay
7
19
  module FromMsisdnHttpRequestHeader
8
20
 
9
21
  extend ActiveSupport::Concern
@@ -15,8 +27,8 @@ module MobileSubscriber
15
27
 
16
28
  isdn_attributes = nil
17
29
 
18
- isdn_attributes = if msisdn = request.env[header_env_key] and msisdn.length >= 8
19
-
30
+ isdn_attributes = if msisdn = request.env[header_env_key] and msisdn.strip.length >= 8
31
+ msisdn.strip!
20
32
  detection_cues = {
21
33
  remote_ip: request.env["REMOTE_ADDR"],
22
34
  http_request_headers: { 'Msisdn' => msisdn }
@@ -28,12 +40,90 @@ module MobileSubscriber
28
40
  # TODO: Validar por IP, etc.
29
41
  case country_code
30
42
  when 'BR'
31
- # Vivo BR (Claro):
43
+ # Claro Brasil
44
+ # TODO: Determinar correctamente el MNC (05, 38)
32
45
  {
33
46
  id: msisdn,
34
47
  mobile_country_code: "724",
35
- mobile_network_code: "06"
36
- }
48
+ mobile_network_code: "05"
49
+ }.merge(detection_cues: detection_cues)
50
+ when 'CL'
51
+ # Claro Chile
52
+ {
53
+ id: msisdn,
54
+ mobile_country_code: "730",
55
+ mobile_network_code: "03"
56
+ }.merge(detection_cues: detection_cues)
57
+ when 'CO'
58
+ # Claro Colombia
59
+ {
60
+ id: msisdn,
61
+ mobile_country_code: "732",
62
+ mobile_network_code: "101"
63
+ }.merge(detection_cues: detection_cues)
64
+ when 'CR'
65
+ # Claro Costa Rica
66
+ {
67
+ id: msisdn,
68
+ mobile_country_code: "712",
69
+ mobile_network_code: "03"
70
+ }.merge(detection_cues: detection_cues)
71
+ when 'DO'
72
+ # Claro Dominicana:
73
+ {
74
+ id: msisdn,
75
+ mobile_country_code: "370",
76
+ mobile_network_code: "02"
77
+ }.merge(detection_cues: detection_cues)
78
+ when 'EC'
79
+ # Claro Ecuador:
80
+ {
81
+ id: msisdn,
82
+ mobile_country_code: "740",
83
+ mobile_network_code: "01"
84
+ }.merge(detection_cues: detection_cues)
85
+ when 'SV'
86
+ # Claro El Salvador:
87
+ {
88
+ id: msisdn,
89
+ mobile_country_code: "706",
90
+ mobile_network_code: "01"
91
+ }.merge(detection_cues: detection_cues)
92
+ when 'GT'
93
+ # Claro Guatemala:
94
+ {
95
+ id: msisdn,
96
+ mobile_country_code: "704",
97
+ mobile_network_code: "01"
98
+ }.merge(detection_cues: detection_cues)
99
+ when 'HN'
100
+ # Claro Honduras:
101
+ {
102
+ id: msisdn,
103
+ mobile_country_code: "708",
104
+ mobile_network_code: "001"
105
+ }.merge(detection_cues: detection_cues)
106
+ when 'NI'
107
+ # Claro Nicaragua:
108
+ {
109
+ id: msisdn,
110
+ mobile_country_code: "710",
111
+ mobile_network_code: "21"
112
+ }.merge(detection_cues: detection_cues)
113
+ when 'PA'
114
+ # Claro Panamá:
115
+ {
116
+ id: msisdn,
117
+ mobile_country_code: "714",
118
+ mobile_network_code: "03"
119
+ }.merge(detection_cues: detection_cues)
120
+ when 'PY'
121
+ # Claro Paraguay:
122
+ {
123
+ id: msisdn,
124
+ mobile_country_code: "744",
125
+ mobile_network_code: "02"
126
+ }.merge(detection_cues: detection_cues)
37
127
  end
38
128
 
39
129
  end
@@ -1,3 +1,4 @@
1
+ require 'mobile_subscriber/dictionaries/dialing_and_country_codes'
1
2
  module MobileSubscriber
2
3
  module Detection
3
4
 
@@ -14,7 +15,8 @@ module MobileSubscriber
14
15
  header_name = 'X-Nokia-Msisdn'
15
16
  header_env_key = "HTTP_#{header_name.gsub('-','_').upcase}"
16
17
 
17
- isdn_attributes = if msisdn = request.env[header_env_key] and msisdn.length >= 8
18
+ isdn_attributes = if msisdn = request.env[header_env_key] and msisdn.strip.length >= 8
19
+ msisdn.strip!
18
20
  detection_cues = {
19
21
  remote_ip: request.env["REMOTE_ADDR"],
20
22
  http_request_headers: { 'X-Nokia-Msisdn' => msisdn }
@@ -1,3 +1,4 @@
1
+ require 'mobile_subscriber/dictionaries/dialing_and_country_codes'
1
2
  module MobileSubscriber
2
3
  module Detection
3
4
 
@@ -19,8 +20,8 @@ module MobileSubscriber
19
20
  header_name = 'X-Up-Calling-Line-Id'
20
21
  header_env_key = "HTTP_#{header_name.gsub('-','_').upcase}"
21
22
 
22
- isdn_attributes = if msisdn = request.env[header_env_key] and msisdn.length >= 8
23
-
23
+ isdn_attributes = if msisdn = request.env[header_env_key] and msisdn.strip.length >= 8
24
+ msisdn.strip!
24
25
  detection_cues = {
25
26
  remote_ip: request.env["REMOTE_ADDR"],
26
27
  http_request_headers: { header_name => msisdn }
@@ -1,8 +1,9 @@
1
+ require 'mobile_subscriber/dictionaries/dialing_and_country_codes'
1
2
  module MobileSubscriber
2
3
  module Detection
3
4
 
4
5
  # Módulo que provee métodos de deteccion y validacion para MSISDN's de:
5
- # - Claro Brasil
6
+ # - Vivo Brasil
6
7
  module FromXUpChMsisdnHttpRequestHeader
7
8
 
8
9
  extend ActiveSupport::Concern
@@ -12,8 +13,8 @@ module MobileSubscriber
12
13
  header_name = 'X-Up-Ch-Msisdn'
13
14
  header_env_key = "HTTP_#{header_name.gsub('-','_').upcase}"
14
15
 
15
- isdn_attributes = if msisdn = request.env[header_env_key] and msisdn.length >= 8
16
-
16
+ isdn_attributes = if msisdn = request.env[header_env_key] and msisdn.strip.length >= 8
17
+ msisdn.strip!
17
18
  detection_cues = {
18
19
  remote_ip: request.env["REMOTE_ADDR"],
19
20
  http_request_headers: { 'X-Up-Ch-Msisdn' => msisdn }
@@ -25,11 +26,12 @@ module MobileSubscriber
25
26
  # TODO: Validar por IP, etc.
26
27
  case country_code
27
28
  when 'BR'
28
- # Claro BR (Claro):
29
+ # Vivo:
30
+ # TODO: Determinar el MNC correcto (06, 10, 11, 23)
29
31
  {
30
32
  id: msisdn,
31
33
  mobile_country_code: "724",
32
- mobile_network_code: "05"
34
+ mobile_network_code: "06"
33
35
  }.merge(detection_cues: detection_cues)
34
36
  end
35
37
 
@@ -0,0 +1,48 @@
1
+ require 'mobile_subscriber/dictionaries/dialing_and_country_codes'
2
+ module MobileSubscriber
3
+ module Detection
4
+
5
+ # Módulo que provee métodos de deteccion y validacion para MSISDN por el
6
+ # header de HTTP 'Msisdn':
7
+ # - Comcel Colombia
8
+ module FromXUpSubnoHttpRequestHeader
9
+
10
+ extend ActiveSupport::Concern
11
+
12
+ module ClassMethods
13
+ def extract_from_x_up_subno_http_request_header(request)
14
+ header_name = 'X-Up-Subno'
15
+ header_env_key = "HTTP_#{header_name.gsub('-','_').upcase}"
16
+
17
+ isdn_attributes = nil
18
+
19
+ isdn_attributes = if msisdn = request.env[header_env_key] and msisdn.strip.length >= 8
20
+ msisdn.strip!
21
+ detection_cues = {
22
+ remote_ip: request.env["REMOTE_ADDR"],
23
+ http_request_headers: { header_name => msisdn }
24
+ }
25
+
26
+ country_code = MobileSubscriber::DIALING_COUNTRY_CODES[msisdn[0,2]]
27
+
28
+ # Determinar la procedencia del MSISDN
29
+ # TODO: Validar por IP, etc.
30
+ case country_code
31
+ when 'CO'
32
+ # Comcel Colombia
33
+ {
34
+ id: msisdn,
35
+ mobile_country_code: "732",
36
+ mobile_network_code: "101"
37
+ }.merge(detection_cues: detection_cues)
38
+ end
39
+
40
+ end
41
+
42
+ isdn_attributes
43
+ end
44
+ end
45
+
46
+ end
47
+ end
48
+ end
@@ -11,8 +11,9 @@ module MobileSubscriber
11
11
 
12
12
  include MobileSubscriber::Detection::FromMsisdnHttpRequestHeader
13
13
  include MobileSubscriber::Detection::FromXNokiaMsisdnHttpRequestHeader
14
- include MobileSubscriber::Detection::FromXUpChMsisdnHttpRequestHeader
15
14
  include MobileSubscriber::Detection::FromXUpCallingLineIdHttpRequestHeader
15
+ include MobileSubscriber::Detection::FromXUpChMsisdnHttpRequestHeader
16
+ include MobileSubscriber::Detection::FromXUpSubnoHttpRequestHeader
16
17
 
17
18
  def initialize(attributes={})
18
19
  @id = attributes.delete :id
@@ -60,7 +61,7 @@ module MobileSubscriber
60
61
  def self.new_from_request(request)
61
62
  detected_attributes = self.methods.select do |x|
62
63
  x.to_s =~ /\Aextract_from_(\w+)_http_request_header\z/i
63
- end.reduce(nil) do |attrs, detection_method|
64
+ end.sort.reduce(nil) do |attrs, detection_method|
64
65
  attrs = self.send detection_method, request unless attrs.present?
65
66
  attrs
66
67
  end
@@ -1,3 +1,3 @@
1
1
  module MobileSubscriber
2
- VERSION = "0.0.1.alpha3"
2
+ VERSION = "0.0.1.alpha4"
3
3
  end
@@ -0,0 +1,48 @@
1
+ require "spec_helper"
2
+
3
+ describe MobileSubscriber::Detection::FromMsisdnHttpRequestHeader do
4
+
5
+ include described_class::ClassMethods
6
+
7
+ let :test_request do
8
+ build :mobile_request_from_claro_brasil
9
+ end
10
+
11
+ describe "the returned object of self.extract_from_msisdn_http_request_header" do
12
+
13
+ subject do
14
+ extract_from_msisdn_http_request_header test_request
15
+ end
16
+
17
+ context "when given a request made from Claro Brasil" do
18
+ let(:test_request) { build :mobile_request_from_claro_brasil }
19
+
20
+ include_examples "of detection of msisdn from a valid brazilian mobile network http request"
21
+
22
+ it "has a :mobile_network_code value of '05' or '38'" do
23
+ expect(subject[:mobile_network_code]).to match /05|38/i
24
+ end
25
+ end
26
+
27
+ context "when given a request made from Claro Chile" do
28
+ let(:test_request) { build :mobile_request_from_claro_chile }
29
+
30
+ include_examples "of detection of msisdn from a valid chilean mobile network http request"
31
+
32
+ it "has a :mobile_network_code value of '03'" do
33
+ expect(subject[:mobile_network_code]).to eq '03'
34
+ end
35
+ end
36
+
37
+ context "when given a request made from Claro Colomobia" do
38
+ let(:test_request) { build :mobile_request_from_claro_colombia }
39
+
40
+ include_examples "of detection of msisdn from a valid colombian mobile network http request"
41
+
42
+ it "has a :mobile_network_code value of '101'" do
43
+ expect(subject[:mobile_network_code]).to eq '101'
44
+ end
45
+ end
46
+ end
47
+
48
+ end
@@ -0,0 +1,35 @@
1
+ require "spec_helper"
2
+
3
+ describe MobileSubscriber::Detection::FromXNokiaMsisdnHttpRequestHeader do
4
+
5
+ include described_class::ClassMethods
6
+
7
+ describe "the returned object of self.extract_from_msisdn_http_request_header" do
8
+
9
+ subject do
10
+ extract_from_x_nokia_msisdn_http_request_header test_request
11
+ end
12
+
13
+ context "when given a request made from Telcel México" do
14
+ let(:test_request) { build :mobile_request_from_telcel_mexico }
15
+
16
+ include_examples "of detection of msisdn from a valid mexican mobile network http request"
17
+
18
+ it "has a :mobile_network_code value of '020'" do
19
+ expect(subject[:mobile_network_code]).to eq '020'
20
+ end
21
+ end
22
+
23
+ context "when given a request made from Claro Argentina" do
24
+ let(:test_request) { build :mobile_request_from_claro_argentina }
25
+
26
+ include_examples "of detection of msisdn from a valid argentinian mobile network http request"
27
+
28
+ # TODO: Bad test... we need to test for each network code, if it can be determined:
29
+ it "has a :mobile_network_code value of '310', '320', or '330'" do
30
+ expect(subject[:mobile_network_code]).to match /310|320|330/
31
+ end
32
+ end
33
+ end
34
+
35
+ end
@@ -49,9 +49,30 @@ FactoryGirl.define do
49
49
  factory :mobile_request_from_claro_brasil do
50
50
  initialize_with do
51
51
  new build(:common_mobile_request_env).merge(
52
- "REMOTE_ADDR" => "187.26.59.4",
53
- "REMOTE_HOST" => "187.26.59.4",
54
- "HTTP_X_UP_CH_MSISDN" => "5500000000000"
52
+ "REMOTE_ADDR" => "201.23.176.202",
53
+ "REMOTE_HOST" => "201.23.176.202",
54
+ "HTTP_MSISDN" => "5500000000000"
55
+ )
56
+ end
57
+ end
58
+
59
+ # http://ns.myip.ms/view/ip_owners/181034/Claro_Chile_S_a.html
60
+ factory :mobile_request_from_claro_chile do
61
+ initialize_with do
62
+ new build(:common_mobile_request_env).merge(
63
+ "REMOTE_ADDR" => "191.116.39.114",
64
+ "REMOTE_HOST" => "191.116.39.114",
65
+ "HTTP_MSISDN" => "56024445202"
66
+ )
67
+ end
68
+ end
69
+
70
+ factory :mobile_request_from_claro_colombia do
71
+ initialize_with do
72
+ new build(:common_mobile_request_env).merge(
73
+ "REMOTE_ADDR" => "200.26.137.100",
74
+ "REMOTE_HOST" => "200.26.137.100",
75
+ "HTTP_MSISDN" => "57000000000"
55
76
  )
56
77
  end
57
78
  end
@@ -67,6 +88,16 @@ FactoryGirl.define do
67
88
  end
68
89
  end
69
90
 
91
+ factory :mobile_request_from_vivo_brasil do
92
+ initialize_with do
93
+ new build(:common_mobile_request_env).merge(
94
+ "REMOTE_ADDR" => "187.26.59.4",
95
+ "REMOTE_HOST" => "187.26.59.4",
96
+ "HTTP_X_UP_CH_MSISDN" => "5500000000000"
97
+ )
98
+ end
99
+ end
100
+
70
101
 
71
102
  end
72
103
  end
@@ -109,6 +109,24 @@ describe MobileSubscriber::ISDN do
109
109
  end
110
110
  end
111
111
 
112
+ shared_examples "of detection from a request made from a chilean mobile network" do
113
+ it "responds to #id with a string starting with '56'" do
114
+ expect(subject.id).to match /\A56/
115
+ end
116
+
117
+ it "responds to #mobile_country_code with '730'" do
118
+ expect(subject.mobile_country_code).to eq '730'
119
+ end
120
+
121
+ it "responds to #dialing_code with '56'" do
122
+ expect(subject.dialing_code).to eq '56'
123
+ end
124
+
125
+ it "responds to #iso_3166_country_code with 'CL'" do
126
+ expect(subject.iso_3166_country_code).to eq 'CL'
127
+ end
128
+ end
129
+
112
130
  shared_examples "of detection from a request made from a peruvian mobile network" do
113
131
  it "responds to #id with a string starting with '51'" do
114
132
  expect(subject.id).to match /\A51/
@@ -168,6 +186,22 @@ describe MobileSubscriber::ISDN do
168
186
 
169
187
  end
170
188
 
189
+ context "from a request made from Claro Perú" do
190
+
191
+ subject do
192
+ described_class.new_from_request(build :mobile_request_from_claro_peru)
193
+ end
194
+
195
+ include_examples "of detection from a valid request"
196
+ include_examples "of detection from a request made from a peruvian mobile network"
197
+ include_examples "of detection from a request made from a Claro network"
198
+
199
+ it "responds to #mobile_network_operator with 'América Móvil Perú'" do
200
+ expect(subject.mobile_network_operator).to eq 'América Móvil Perú'
201
+ end
202
+
203
+ end
204
+
171
205
  context "from a request made from Claro Brasil" do
172
206
 
173
207
  subject do
@@ -183,20 +217,19 @@ describe MobileSubscriber::ISDN do
183
217
  end
184
218
  end
185
219
 
186
- context "from a request made from Claro Perú" do
220
+ context "from a request made from Claro Chile" do
187
221
 
188
222
  subject do
189
- described_class.new_from_request(build :mobile_request_from_claro_peru)
223
+ described_class.new_from_request(build :mobile_request_from_claro_chile)
190
224
  end
191
225
 
192
226
  include_examples "of detection from a valid request"
193
- include_examples "of detection from a request made from a peruvian mobile network"
227
+ include_examples "of detection from a request made from a chilean mobile network"
194
228
  include_examples "of detection from a request made from a Claro network"
195
229
 
196
- it "responds to #mobile_network_operator with 'América Móvil Perú'" do
197
- expect(subject.mobile_network_operator).to eq 'América Móvil Perú'
230
+ it "responds to #mobile_network_operator with 'Claro Chile S.A.'" do
231
+ expect(subject.mobile_network_operator).to eq 'Claro Chile S.A.'
198
232
  end
199
-
200
233
  end
201
234
 
202
235
  end
@@ -0,0 +1,84 @@
1
+ require "spec_helper"
2
+
3
+ shared_examples "of detection of msisdn from a valid mobile network http request" do
4
+ it "is not nil" do
5
+ expect(subject).not_to be_nil
6
+ end
7
+ it "is not blank" do
8
+ expect(subject).not_to be_blank
9
+ end
10
+
11
+ it "has an :id key" do
12
+ expect(subject).to have_key :id
13
+ end
14
+ it "has a non-blank :id value" do
15
+ expect(subject[:id]).not_to be_blank
16
+ end
17
+
18
+ it "has an :mobile_country_code key" do
19
+ expect(subject).to have_key :mobile_country_code
20
+ end
21
+ it "has a non-blank :mobile_country_code value" do
22
+ expect(subject[:mobile_country_code]).not_to be_blank
23
+ end
24
+
25
+ it "has an :mobile_network_code key" do
26
+ expect(subject).to have_key :mobile_network_code
27
+ end
28
+ it "has a non-blank :mobile_network_code value" do
29
+ expect(subject[:mobile_network_code]).not_to be_blank
30
+ end
31
+ end
32
+
33
+ shared_examples "of detection of msisdn from a valid argentinian mobile network http request" do
34
+ include_examples "of detection of msisdn from a valid mobile network http request"
35
+ it "has an :id value that starts with '54'" do
36
+ expect(subject[:id]).to match /\A54/
37
+ end
38
+ it "has a :mobile_country_code value of '722'" do
39
+ expect(subject[:mobile_country_code]).to eq '722'
40
+ end
41
+ end
42
+
43
+ shared_examples "of detection of msisdn from a valid mexican mobile network http request" do
44
+ include_examples "of detection of msisdn from a valid mobile network http request"
45
+ it "has an :id value that starts with '52'" do
46
+ expect(subject[:id]).to match /\A52/
47
+ end
48
+ it "has a :mobile_country_code value of '334'" do
49
+ expect(subject[:mobile_country_code]).to eq '334'
50
+ end
51
+ end
52
+
53
+ shared_examples "of detection of msisdn from a valid brazilian mobile network http request" do
54
+ include_examples "of detection of msisdn from a valid mobile network http request"
55
+ it "has an :id value that starts with '55'" do
56
+ expect(subject[:id]).to match /\A55/
57
+ end
58
+
59
+ it "has a :mobile_country_code value of '724'" do
60
+ expect(subject[:mobile_country_code]).to eq '724'
61
+ end
62
+ end
63
+
64
+ shared_examples "of detection of msisdn from a valid chilean mobile network http request" do
65
+ include_examples "of detection of msisdn from a valid mobile network http request"
66
+ it "has an :id value that starts with '56'" do
67
+ expect(subject[:id]).to match /\A56/
68
+ end
69
+
70
+ it "has a :mobile_country_code value of '730'" do
71
+ expect(subject[:mobile_country_code]).to eq '730'
72
+ end
73
+ end
74
+
75
+ shared_examples "of detection of msisdn from a valid colombian mobile network http request" do
76
+ include_examples "of detection of msisdn from a valid mobile network http request"
77
+ it "has an :id value that starts with '57'" do
78
+ expect(subject[:id]).to match /\A57/
79
+ end
80
+
81
+ it "has a :mobile_country_code value of '732'" do
82
+ expect(subject[:mobile_country_code]).to eq '732'
83
+ end
84
+ end
data/spec/spec_helper.rb CHANGED
@@ -67,13 +67,11 @@ RSpec.configure do |config|
67
67
 
68
68
  config.raise_errors_for_deprecations!
69
69
 
70
-
71
-
72
70
  # Allow to use the FactoryGirl methods (build, create, build_stubbed)
73
71
  # directly on specs, instead of prefacing them with "FactoryGirl":
74
72
  config.include FactoryGirl::Syntax::Methods
75
73
 
76
-
77
74
  Dir["spec/factories/*.rb"].each { |f| load f }
75
+ Dir["spec/shared_examples/*.rb"].each { |f| load f }
78
76
 
79
77
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mobile-subscriber
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1.alpha3
4
+ version: 0.0.1.alpha4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Roberto Quintanilla
@@ -117,6 +117,7 @@ files:
117
117
  - lib/mobile_subscriber/detection/from_x_nokia_msisdn_http_request_header.rb
118
118
  - lib/mobile_subscriber/detection/from_x_up_calling_line_id_http_request_header.rb
119
119
  - lib/mobile_subscriber/detection/from_x_up_ch_msisdn_http_request_header.rb
120
+ - lib/mobile_subscriber/detection/from_x_up_subno_http_request_header.rb
120
121
  - lib/mobile_subscriber/dictionaries/dialing_and_country_codes.rb
121
122
  - lib/mobile_subscriber/dictionaries/mobile_and_iso_country_codes.rb
122
123
  - lib/mobile_subscriber/dictionaries/operator_data.rb
@@ -124,9 +125,12 @@ files:
124
125
  - lib/mobile_subscriber/version.rb
125
126
  - mobile-subscriber.gemspec
126
127
  - mobile_subscriber.thor
128
+ - spec/detection/from_msisdn_http_request_header_spec.rb
129
+ - spec/detection/from_x_nokia_msisdn_http_request_header_spec.rb
127
130
  - spec/factories/requests.rb
128
131
  - spec/mobile_subscriber_spec.rb
129
132
  - spec/models/isdn_spec.rb
133
+ - spec/shared_examples/of_msisdn_detection_from_http_request.rb
130
134
  - spec/spec_helper.rb
131
135
  - templates/mobile_and_iso_country_codes.rb.erb
132
136
  - templates/operator_data.rb.erb
@@ -155,7 +159,10 @@ signing_key:
155
159
  specification_version: 4
156
160
  summary: Mobile MSISDN detection & validation.
157
161
  test_files:
162
+ - spec/detection/from_msisdn_http_request_header_spec.rb
163
+ - spec/detection/from_x_nokia_msisdn_http_request_header_spec.rb
158
164
  - spec/factories/requests.rb
159
165
  - spec/mobile_subscriber_spec.rb
160
166
  - spec/models/isdn_spec.rb
167
+ - spec/shared_examples/of_msisdn_detection_from_http_request.rb
161
168
  - spec/spec_helper.rb