authy 2.3.1 → 2.4.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 81735aedc17dacda72bd8f831b306961e07cdf2c
4
+ data.tar.gz: c49d07082ce397c88b41b8746d5ec3a73e3040d3
5
+ SHA512:
6
+ metadata.gz: 73266d8be9764af02b6f269365c0f7452722d32ef745bb308da4294911e3397e79485113a95f1a266b79a1f22951bf93ed9eece1f94e6828523ba3b607e6bfda
7
+ data.tar.gz: e785fb4a38699607e64b7c8f31c054348033275114a02f9ed88ef5395adda34f46768626b417b285abb45c454a4a4e32d02632c7d37df45340aded4c414b229d
data/VERSION CHANGED
@@ -1 +1 @@
1
- 2.3.1
1
+ 2.4.0
@@ -10,4 +10,5 @@ require 'authy/response'
10
10
  require 'authy/models/user'
11
11
  require 'authy/config'
12
12
  require 'authy/api'
13
+ require 'authy/phone_intelligence'
13
14
  require 'authy/version'
@@ -36,8 +36,10 @@ module Authy
36
36
  params[:force] = true if params[:force].nil? && params['force'].nil?
37
37
 
38
38
  get_request("protected/json/verify/:token/:user_id", params.merge({
39
- "token" => token,
40
- "user_id" => user_id}))
39
+ "token" => token,
40
+ "user_id" => user_id
41
+ })
42
+ )
41
43
  end
42
44
 
43
45
  # options:
@@ -0,0 +1,29 @@
1
+ module Authy
2
+ class PhoneIntelligence < Authy::API
3
+
4
+ # options:
5
+ # :via (sms|call)
6
+ # :country_code Numeric calling country code of the country.
7
+ # :phone_number The persons phone number.
8
+ def self.verification_start(params)
9
+ params[:via] = "sms" unless %w(sms, call).include?(params[:via])
10
+
11
+ post_request("protected/json/phones/verification/start", params)
12
+ end
13
+
14
+ # options:
15
+ # :country_code Numeric calling country code of the country.
16
+ # :phone_number The persons phone number.
17
+ # :verification_code The verification code entered by the user.
18
+ def self.verification_check(params)
19
+ get_request("protected/json/phones/verification/check", params)
20
+ end
21
+
22
+ # options:
23
+ # :country_code Numeric calling country code of the country.
24
+ # :phone_number The persons phone number.
25
+ def self.info(params)
26
+ get_request("protected/json/phones/info", params)
27
+ end
28
+ end
29
+ end
@@ -1,3 +1,3 @@
1
1
  module Authy
2
- VERSION = "2.3.1"
2
+ VERSION = "2.4.0"
3
3
  end
@@ -4,9 +4,11 @@ describe "Authy::API" do
4
4
  describe "Registering users" do
5
5
 
6
6
  it "should find or create a user" do
7
- user = Authy::API.register_user(:email => generate_email,
8
- :cellphone => generate_cellphone,
9
- :country_code => 1)
7
+ user = Authy::API.register_user(
8
+ :email => generate_email,
9
+ :cellphone => generate_cellphone,
10
+ :country_code => 1
11
+ )
10
12
  user.should be_kind_of(Authy::Response)
11
13
 
12
14
  user.should be_kind_of(Authy::User)
@@ -16,19 +18,23 @@ describe "Authy::API" do
16
18
  end
17
19
 
18
20
  it "should return the error messages as a hash" do
19
- user = Authy::API.register_user(:email => generate_email,
20
- :cellphone => "abc-1234",
21
- :country_code => 1)
21
+ user = Authy::API.register_user(
22
+ :email => generate_email,
23
+ :cellphone => "abc-1234",
24
+ :country_code => 1
25
+ )
22
26
 
23
27
  user.errors.should be_kind_of(Hash)
24
28
  user.errors['cellphone'].should == 'is invalid'
25
29
  end
26
30
 
27
31
  it "should allow to override the API key" do
28
- user = Authy::API.register_user(:email => generate_email,
29
- :cellphone => generate_cellphone,
30
- :country_code => 1,
31
- :api_key => "invalid_api_key")
32
+ user = Authy::API.register_user(
33
+ :email => generate_email,
34
+ :cellphone => generate_cellphone,
35
+ :country_code => 1,
36
+ :api_key => "invalid_api_key"
37
+ )
32
38
 
33
39
  user.should_not be_ok
34
40
  user.errors['message'].should =~ /invalid api key/i
@@ -50,7 +56,7 @@ describe "Authy::API" do
50
56
  response = Authy::API.verify(:token => 'invalid_token', :id => @user.id)
51
57
 
52
58
  response.should be_kind_of(Authy::Response)
53
- response.ok?.should be_false
59
+ response.should_not be_ok
54
60
  response.errors['message'].should == 'Token is invalid.'
55
61
  end
56
62
 
@@ -0,0 +1,92 @@
1
+ require 'spec_helper'
2
+
3
+ describe "Authy::PhoneIntelligence" do
4
+ describe "Sending the verification code" do
5
+
6
+ it "should send the code via SMS" do
7
+ response = Authy::PhoneIntelligence.verification_start(
8
+ :via => "sms",
9
+ :country_code => "1",
10
+ :phone_number => "111-111-1111"
11
+ )
12
+
13
+ response.should be_kind_of(Authy::Response)
14
+ response.should be_ok
15
+ response.message.should == "Text message sent to +1 111-111-1111."
16
+ end
17
+
18
+ # it "should send the code via CALL" do
19
+ # response = Authy::PhoneIntelligence.verification_start(
20
+ # :via => "call",
21
+ # :country_code => "1",
22
+ # :phone_number => "111-111-1111"
23
+ # )
24
+
25
+ # response.should be_kind_of(Authy::Response)
26
+ # response.success.should be_true
27
+ # response.message.should == "Text message sent to +1 111-111-1111."
28
+ # end
29
+ end
30
+
31
+ describe "validate the fields required" do
32
+ it "should return an error. Country code is required" do
33
+ response = Authy::PhoneIntelligence.verification_start(
34
+ :via => "sms",
35
+ :phone_number => "111-111-1111"
36
+ )
37
+
38
+ response.should_not be_ok
39
+ response.errors['message'] =~ /Country code is mandatory/
40
+ end
41
+
42
+ it "should return an error. Cellphone is invalid" do
43
+ response = Authy::PhoneIntelligence.verification_start(
44
+ :via => "sms",
45
+ :country_code => "1",
46
+ :phone_number => "123"
47
+ )
48
+
49
+ response.should_not be_ok
50
+ response.errors['message'] =~ /Phone number is invalid/
51
+ end
52
+ end
53
+
54
+ describe "Check the verification code" do
55
+ it "should return success true if code is correct" do
56
+ response = Authy::PhoneIntelligence.verification_check(
57
+ :country_code => "1",
58
+ :phone_number => "111-111-1111",
59
+ :verification_code => "0000"
60
+ )
61
+
62
+ response.should be_ok
63
+ response.message.should == "Verification code is correct."
64
+ end
65
+
66
+ it "should return an error if code is incorrect" do
67
+ response = Authy::PhoneIntelligence.verification_check(
68
+ :country_code => "1",
69
+ :phone_number => "111-111-1111",
70
+ :verification_code => "1234"
71
+ )
72
+
73
+ response.should_not be_ok
74
+ response.message.should == "Verification code is incorrect."
75
+ end
76
+ end
77
+
78
+ describe "Requesting phone number information" do
79
+ it "should return the phone information" do
80
+ response = Authy::PhoneIntelligence.info(
81
+ :country_code => "1",
82
+ :phone_number => "7754615609"
83
+ )
84
+
85
+ response.should be_ok
86
+ response.message.should =~ /Phone number information as of/
87
+ response.type.should == "voip"
88
+ response.provider.should == "Google Voice"
89
+ response.ported.should be_false
90
+ end
91
+ end
92
+ end
@@ -14,11 +14,11 @@ describe "Authy::Response" do
14
14
  end
15
15
 
16
16
  it "should be ok if the return code is 200" do
17
- @response.ok?.should be_true
17
+ @response.should be_ok
18
18
 
19
19
  @fake_response.status = 401
20
20
  @response = Authy::Response.new(@fake_response)
21
- @response.ok?.should be_false
21
+ @response.should_not be_ok
22
22
  end
23
23
 
24
24
  it "should return the error message" do
metadata CHANGED
@@ -1,142 +1,125 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: authy
3
3
  version: !ruby/object:Gem::Version
4
- prerelease:
5
- version: 2.3.1
4
+ version: 2.4.0
6
5
  platform: ruby
7
6
  authors:
8
7
  - Authy Inc
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2014-03-25 00:00:00.000000000 Z
11
+ date: 2014-10-02 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
- prerelease: false
16
- type: :runtime
17
- version_requirements: !ruby/object:Gem::Requirement
18
- none: false
19
- requirements:
20
- - - ! '>='
21
- - !ruby/object:Gem::Version
22
- version: 2.3.4
23
14
  name: httpclient
24
15
  requirement: !ruby/object:Gem::Requirement
25
- none: false
26
16
  requirements:
27
- - - ! '>='
17
+ - - ">="
28
18
  - !ruby/object:Gem::Version
29
19
  version: 2.3.4
30
- - !ruby/object:Gem::Dependency
20
+ type: :runtime
31
21
  prerelease: false
32
- type: :development
33
22
  version_requirements: !ruby/object:Gem::Requirement
34
- none: false
35
23
  requirements:
36
- - - ! '>='
24
+ - - ">="
37
25
  - !ruby/object:Gem::Version
38
- version: '0'
26
+ version: 2.3.4
27
+ - !ruby/object:Gem::Dependency
39
28
  name: rake
40
29
  requirement: !ruby/object:Gem::Requirement
41
- none: false
42
30
  requirements:
43
- - - ! '>='
31
+ - - ">="
44
32
  - !ruby/object:Gem::Version
45
33
  version: '0'
46
- - !ruby/object:Gem::Dependency
47
- prerelease: false
48
34
  type: :development
35
+ prerelease: false
49
36
  version_requirements: !ruby/object:Gem::Requirement
50
- none: false
51
37
  requirements:
52
- - - ! '>='
38
+ - - ">="
53
39
  - !ruby/object:Gem::Version
54
40
  version: '0'
41
+ - !ruby/object:Gem::Dependency
55
42
  name: rspec
56
43
  requirement: !ruby/object:Gem::Requirement
57
- none: false
58
44
  requirements:
59
- - - ! '>='
45
+ - - ">="
60
46
  - !ruby/object:Gem::Version
61
47
  version: '0'
62
- - !ruby/object:Gem::Dependency
63
- prerelease: false
64
48
  type: :development
49
+ prerelease: false
65
50
  version_requirements: !ruby/object:Gem::Requirement
66
- none: false
67
51
  requirements:
68
- - - ! '>='
52
+ - - ">="
69
53
  - !ruby/object:Gem::Version
70
54
  version: '0'
55
+ - !ruby/object:Gem::Dependency
71
56
  name: pry
72
57
  requirement: !ruby/object:Gem::Requirement
73
- none: false
74
58
  requirements:
75
- - - ! '>='
59
+ - - ">="
76
60
  - !ruby/object:Gem::Version
77
61
  version: '0'
78
- - !ruby/object:Gem::Dependency
79
- prerelease: false
80
62
  type: :development
63
+ prerelease: false
81
64
  version_requirements: !ruby/object:Gem::Requirement
82
- none: false
83
65
  requirements:
84
- - - ! '>='
66
+ - - ">="
85
67
  - !ruby/object:Gem::Version
86
68
  version: '0'
69
+ - !ruby/object:Gem::Dependency
87
70
  name: yard
88
71
  requirement: !ruby/object:Gem::Requirement
89
- none: false
90
72
  requirements:
91
- - - ! '>='
73
+ - - ">="
92
74
  - !ruby/object:Gem::Version
93
75
  version: '0'
94
- - !ruby/object:Gem::Dependency
95
- prerelease: false
96
76
  type: :development
77
+ prerelease: false
97
78
  version_requirements: !ruby/object:Gem::Requirement
98
- none: false
99
79
  requirements:
100
- - - ! '>='
80
+ - - ">="
101
81
  - !ruby/object:Gem::Version
102
82
  version: '0'
83
+ - !ruby/object:Gem::Dependency
103
84
  name: rdoc
104
85
  requirement: !ruby/object:Gem::Requirement
105
- none: false
106
86
  requirements:
107
- - - ! '>='
87
+ - - ">="
108
88
  - !ruby/object:Gem::Version
109
89
  version: '0'
110
- - !ruby/object:Gem::Dependency
111
- prerelease: false
112
90
  type: :development
91
+ prerelease: false
113
92
  version_requirements: !ruby/object:Gem::Requirement
114
- none: false
115
93
  requirements:
116
- - - ! '>='
94
+ - - ">="
117
95
  - !ruby/object:Gem::Version
118
96
  version: '0'
97
+ - !ruby/object:Gem::Dependency
119
98
  name: simplecov
120
99
  requirement: !ruby/object:Gem::Requirement
121
- none: false
122
100
  requirements:
123
- - - ! '>='
101
+ - - ">="
124
102
  - !ruby/object:Gem::Version
125
103
  version: '0'
126
- - !ruby/object:Gem::Dependency
127
- prerelease: false
128
104
  type: :development
105
+ prerelease: false
129
106
  version_requirements: !ruby/object:Gem::Requirement
130
- none: false
131
107
  requirements:
132
- - - ! '>='
108
+ - - ">="
133
109
  - !ruby/object:Gem::Version
134
110
  version: '0'
111
+ - !ruby/object:Gem::Dependency
135
112
  name: reek
136
113
  requirement: !ruby/object:Gem::Requirement
137
- none: false
138
114
  requirements:
139
- - - ! '>='
115
+ - - ">="
116
+ - !ruby/object:Gem::Version
117
+ version: '0'
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - ">="
140
123
  - !ruby/object:Gem::Version
141
124
  version: '0'
142
125
  description: Ruby library to access Authy services
@@ -147,9 +130,9 @@ executables:
147
130
  extensions: []
148
131
  extra_rdoc_files: []
149
132
  files:
150
- - .document
151
- - .gitignore
152
- - .rspec
133
+ - ".document"
134
+ - ".gitignore"
135
+ - ".rspec"
153
136
  - Gemfile
154
137
  - LICENSE.txt
155
138
  - README.md
@@ -163,40 +146,42 @@ files:
163
146
  - lib/authy/config.rb
164
147
  - lib/authy/core_ext.rb
165
148
  - lib/authy/models/user.rb
149
+ - lib/authy/phone_intelligence.rb
166
150
  - lib/authy/response.rb
167
151
  - lib/authy/url_helpers.rb
168
152
  - lib/authy/version.rb
169
153
  - spec/authy/api_spec.rb
154
+ - spec/authy/phone_intelligence_spec.rb
170
155
  - spec/authy/response_spec.rb
171
156
  - spec/authy/url_helpers_spec.rb
172
157
  - spec/spec_helper.rb
173
158
  homepage: https://github.com/authy/authy-ruby
174
159
  licenses:
175
160
  - MIT
161
+ metadata: {}
176
162
  post_install_message:
177
163
  rdoc_options: []
178
164
  require_paths:
179
165
  - lib
180
166
  required_ruby_version: !ruby/object:Gem::Requirement
181
- none: false
182
167
  requirements:
183
- - - ! '>='
168
+ - - ">="
184
169
  - !ruby/object:Gem::Version
185
170
  version: '0'
186
171
  required_rubygems_version: !ruby/object:Gem::Requirement
187
- none: false
188
172
  requirements:
189
- - - ! '>='
173
+ - - ">="
190
174
  - !ruby/object:Gem::Version
191
175
  version: '0'
192
176
  requirements: []
193
177
  rubyforge_project: authy
194
- rubygems_version: 1.8.24
178
+ rubygems_version: 2.2.2
195
179
  signing_key:
196
- specification_version: 3
180
+ specification_version: 4
197
181
  summary: Ruby library to access Authy services
198
182
  test_files:
199
183
  - spec/authy/api_spec.rb
184
+ - spec/authy/phone_intelligence_spec.rb
200
185
  - spec/authy/response_spec.rb
201
186
  - spec/authy/url_helpers_spec.rb
202
187
  - spec/spec_helper.rb