authy 2.2.0 → 2.3.0
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +58 -0
- data/.rspec +1 -0
- data/Gemfile +2 -2
- data/LICENSE.txt +1 -1
- data/README.md +7 -7
- data/Rakefile +4 -29
- data/VERSION +1 -1
- data/authy.gemspec +24 -75
- data/lib/authy.rb +1 -1
- data/lib/authy/api.rb +11 -13
- data/lib/authy/url_helpers.rb +15 -3
- data/lib/authy/version.rb +3 -0
- data/spec/authy/api_spec.rb +14 -1
- metadata +39 -38
- data/Gemfile.lock +0 -59
data/.gitignore
ADDED
@@ -0,0 +1,58 @@
|
|
1
|
+
# rcov generated
|
2
|
+
coverage
|
3
|
+
coverage.data
|
4
|
+
|
5
|
+
# rdoc generated
|
6
|
+
rdoc
|
7
|
+
|
8
|
+
# yard generated
|
9
|
+
doc
|
10
|
+
.yardoc
|
11
|
+
|
12
|
+
# bundler
|
13
|
+
.bundle
|
14
|
+
|
15
|
+
# jeweler generated
|
16
|
+
pkg
|
17
|
+
|
18
|
+
# Have editor/IDE/OS specific files you need to ignore? Consider using a global gitignore:
|
19
|
+
#
|
20
|
+
# * Create a file at ~/.gitignore
|
21
|
+
# * Include files you want ignored
|
22
|
+
# * Run: git config --global core.excludesfile ~/.gitignore
|
23
|
+
#
|
24
|
+
# After doing this, these files will be ignored in all your git projects,
|
25
|
+
# saving you from having to 'pollute' every project you touch with them
|
26
|
+
#
|
27
|
+
# Not sure what to needs to be ignored for particular editors/OSes? Here's some ideas to get you started. (Remember, remove the leading # of the line)
|
28
|
+
#
|
29
|
+
# For MacOS:
|
30
|
+
#
|
31
|
+
.DS_Store
|
32
|
+
|
33
|
+
# For TextMate
|
34
|
+
*.tmproj
|
35
|
+
tmtags
|
36
|
+
|
37
|
+
# For emacs:
|
38
|
+
*~
|
39
|
+
\#*
|
40
|
+
.\#*
|
41
|
+
|
42
|
+
# For vim:
|
43
|
+
*.swp
|
44
|
+
|
45
|
+
# For redcar:
|
46
|
+
#.redcar
|
47
|
+
|
48
|
+
# For rubinius:
|
49
|
+
#*.rbc
|
50
|
+
|
51
|
+
*.kdev4
|
52
|
+
|
53
|
+
examples/db
|
54
|
+
.ruby-version
|
55
|
+
.ruby-gemset
|
56
|
+
.rvmrc
|
57
|
+
Gemfile.lock
|
58
|
+
|
data/.rspec
CHANGED
data/Gemfile
CHANGED
data/LICENSE.txt
CHANGED
data/README.md
CHANGED
@@ -14,7 +14,7 @@ Ruby library to access the Authy API
|
|
14
14
|
## Registering a user
|
15
15
|
|
16
16
|
__NOTE: User is matched based on cellphone and country code not e-mail.
|
17
|
-
A cellphone is uniquely associated with an authy_id.__
|
17
|
+
A cellphone is uniquely associated with an authy_id.__
|
18
18
|
|
19
19
|
|
20
20
|
`Authy::API.register_user` requires the user e-mail address and cellphone. Optionally you can pass in the country_code or we will asume
|
@@ -35,8 +35,8 @@ Assuming you have a `users` database with a `authy_id` field in the `users` data
|
|
35
35
|
## Verifying a user
|
36
36
|
|
37
37
|
|
38
|
-
__NOTE: Token verification is only enforced if the user has completed registration. To change this behaviour see Forcing Verification section below.__
|
39
|
-
|
38
|
+
__NOTE: Token verification is only enforced if the user has completed registration. To change this behaviour see Forcing Verification section below.__
|
39
|
+
|
40
40
|
>*Registration is completed once the user installs and registers the Authy mobile app or logins once successfully using SMS.*
|
41
41
|
|
42
42
|
`Authy::API.verify` takes the authy_id that you are verifying and the token that you want to verify. You should have the authy_id in your database
|
@@ -50,7 +50,7 @@ __NOTE: Token verification is only enforced if the user has completed registrati
|
|
50
50
|
# token is invalid
|
51
51
|
end
|
52
52
|
```
|
53
|
-
|
53
|
+
|
54
54
|
### Forcing Verification
|
55
55
|
|
56
56
|
If you wish to verify tokens even if the user has not yet complete registration, pass force=true when verifying the token.
|
@@ -58,7 +58,7 @@ If you wish to verify tokens even if the user has not yet complete registration,
|
|
58
58
|
```ruby
|
59
59
|
response = Authy::API.verify(:id => user.authy_id, :token => 'token-user-entered', :force => true)
|
60
60
|
```
|
61
|
-
|
61
|
+
|
62
62
|
## Requesting a SMS token
|
63
63
|
|
64
64
|
`Authy::API.request_sms` takes the authy_id that you want to send a SMS token. This requires Authy SMS plugin to be enabled.
|
@@ -128,7 +128,7 @@ This call will be ignored if the user is using the Authy Mobile App. If you ensu
|
|
128
128
|
* Please try not to mess with the Rakefile, version, or history. If you want to have your own version, or is otherwise necessary, that is fine, but please isolate to its own commit so I can cherry-pick around it.
|
129
129
|
|
130
130
|
Copyright
|
131
|
-
==
|
131
|
+
==
|
132
132
|
|
133
|
-
Copyright (c) 2012 Authy Inc. See LICENSE.txt for
|
133
|
+
Copyright (c) 2012-2014 Authy Inc. See LICENSE.txt for
|
134
134
|
further details.
|
data/Rakefile
CHANGED
@@ -1,36 +1,14 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
require 'rubygems'
|
4
|
-
require 'bundler'
|
5
|
-
begin
|
6
|
-
Bundler.setup(:default, :development)
|
7
|
-
rescue Bundler::BundlerError => e
|
8
|
-
$stderr.puts e.message
|
9
|
-
$stderr.puts "Run `bundle install` to install missing gems"
|
10
|
-
exit e.status_code
|
11
|
-
end
|
1
|
+
require 'bundler/gem_tasks'
|
12
2
|
require 'rake'
|
13
|
-
|
14
|
-
require 'jeweler'
|
15
|
-
Jeweler::Tasks.new do |gem|
|
16
|
-
# gem is a Gem::Specification... see http://docs.rubygems.org/read/chapter/20 for more options
|
17
|
-
gem.name = "authy"
|
18
|
-
gem.homepage = "http://github.com/authy/authy"
|
19
|
-
gem.license = "MIT"
|
20
|
-
gem.summary = %Q{Ruby library to access Authy services}
|
21
|
-
gem.description = %Q{Ruby library to access Authy services}
|
22
|
-
gem.email = "krawek@gmail.com"
|
23
|
-
gem.authors = ["Authy", "David A. Cuadrado"]
|
24
|
-
# dependencies defined in Gemfile
|
25
|
-
end
|
26
|
-
Jeweler::RubygemsDotOrgTasks.new
|
27
|
-
|
28
3
|
require 'rspec/core'
|
29
4
|
require 'rspec/core/rake_task'
|
5
|
+
|
30
6
|
RSpec::Core::RakeTask.new(:spec) do |spec|
|
31
7
|
spec.pattern = FileList['spec/**/*_spec.rb']
|
32
8
|
end
|
33
9
|
|
10
|
+
task :default => :spec
|
11
|
+
|
34
12
|
RSpec::Core::RakeTask.new(:rcov) do |spec|
|
35
13
|
spec.pattern = 'spec/**/*_spec.rb'
|
36
14
|
spec.rcov = true
|
@@ -43,8 +21,6 @@ Reek::Rake::Task.new do |t|
|
|
43
21
|
t.source_files = 'lib/**/*.rb'
|
44
22
|
end
|
45
23
|
|
46
|
-
task :default => :spec
|
47
|
-
|
48
24
|
require 'yard'
|
49
25
|
YARD::Rake::YardocTask.new
|
50
26
|
|
@@ -53,4 +29,3 @@ task :simplecov do
|
|
53
29
|
ENV['COVERAGE'] = "true"
|
54
30
|
Rake::Task['spec'].execute
|
55
31
|
end
|
56
|
-
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
2.
|
1
|
+
2.3.0
|
data/authy.gemspec
CHANGED
@@ -1,83 +1,32 @@
|
|
1
|
-
# Generated by jeweler
|
2
|
-
# DO NOT EDIT THIS FILE DIRECTLY
|
3
|
-
# Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
|
4
1
|
# -*- encoding: utf-8 -*-
|
2
|
+
$:.push File.expand_path("../lib", __FILE__)
|
3
|
+
|
4
|
+
require 'authy/version'
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
|
-
s.name
|
8
|
-
s.version
|
7
|
+
s.name = "authy"
|
8
|
+
s.version = Authy::VERSION
|
9
|
+
s.authors = ["Authy Inc"]
|
10
|
+
s.email = ["support@authy.com"]
|
11
|
+
s.homepage = "https://github.com/authy/authy-ruby"
|
12
|
+
s.summary = %q{Ruby library to access Authy services}
|
13
|
+
s.description = %q{Ruby library to access Authy services}
|
14
|
+
s.license = 'MIT'
|
15
|
+
|
16
|
+
s.rubyforge_project = "authy"
|
9
17
|
|
10
|
-
s.
|
11
|
-
s.
|
12
|
-
s.
|
13
|
-
s.description = "Ruby library to access Authy services"
|
14
|
-
s.email = "krawek@gmail.com"
|
15
|
-
s.executables = ["authy-api-console"]
|
16
|
-
s.extra_rdoc_files = [
|
17
|
-
"LICENSE.txt",
|
18
|
-
"README.md"
|
19
|
-
]
|
20
|
-
s.files = [
|
21
|
-
".document",
|
22
|
-
".rspec",
|
23
|
-
"Gemfile",
|
24
|
-
"Gemfile.lock",
|
25
|
-
"LICENSE.txt",
|
26
|
-
"README.md",
|
27
|
-
"Rakefile",
|
28
|
-
"VERSION",
|
29
|
-
"authy.gemspec",
|
30
|
-
"bin/authy-api-console",
|
31
|
-
"examples/demo.rb",
|
32
|
-
"lib/authy.rb",
|
33
|
-
"lib/authy/api.rb",
|
34
|
-
"lib/authy/config.rb",
|
35
|
-
"lib/authy/core_ext.rb",
|
36
|
-
"lib/authy/models/user.rb",
|
37
|
-
"lib/authy/response.rb",
|
38
|
-
"lib/authy/url_helpers.rb",
|
39
|
-
"spec/authy/api_spec.rb",
|
40
|
-
"spec/authy/response_spec.rb",
|
41
|
-
"spec/authy/url_helpers_spec.rb",
|
42
|
-
"spec/spec_helper.rb"
|
43
|
-
]
|
44
|
-
s.homepage = "http://github.com/authy/authy"
|
45
|
-
s.licenses = ["MIT"]
|
18
|
+
s.files = `git ls-files`.split("\n")
|
19
|
+
s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
20
|
+
s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
|
46
21
|
s.require_paths = ["lib"]
|
47
|
-
s.rubygems_version = "1.8.24"
|
48
|
-
s.summary = "Ruby library to access Authy services"
|
49
22
|
|
50
|
-
|
51
|
-
s.specification_version = 3
|
23
|
+
s.add_dependency('httpclient', '>= 2.3.4')
|
52
24
|
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
s.add_development_dependency(%q<simplecov>, [">= 0"])
|
61
|
-
s.add_development_dependency(%q<reek>, [">= 0"])
|
62
|
-
else
|
63
|
-
s.add_dependency(%q<httpclient>, [">= 2.2.6"])
|
64
|
-
s.add_dependency(%q<rspec>, [">= 0"])
|
65
|
-
s.add_dependency(%q<pry>, [">= 0"])
|
66
|
-
s.add_dependency(%q<yard>, [">= 0"])
|
67
|
-
s.add_dependency(%q<rdoc>, [">= 0"])
|
68
|
-
s.add_dependency(%q<jeweler>, [">= 0"])
|
69
|
-
s.add_dependency(%q<simplecov>, [">= 0"])
|
70
|
-
s.add_dependency(%q<reek>, [">= 0"])
|
71
|
-
end
|
72
|
-
else
|
73
|
-
s.add_dependency(%q<httpclient>, [">= 2.2.6"])
|
74
|
-
s.add_dependency(%q<rspec>, [">= 0"])
|
75
|
-
s.add_dependency(%q<pry>, [">= 0"])
|
76
|
-
s.add_dependency(%q<yard>, [">= 0"])
|
77
|
-
s.add_dependency(%q<rdoc>, [">= 0"])
|
78
|
-
s.add_dependency(%q<jeweler>, [">= 0"])
|
79
|
-
s.add_dependency(%q<simplecov>, [">= 0"])
|
80
|
-
s.add_dependency(%q<reek>, [">= 0"])
|
81
|
-
end
|
25
|
+
s.add_development_dependency('rake')
|
26
|
+
s.add_development_dependency('rspec')
|
27
|
+
s.add_development_dependency('pry')
|
28
|
+
s.add_development_dependency('yard')
|
29
|
+
s.add_development_dependency('rdoc')
|
30
|
+
s.add_development_dependency('simplecov')
|
31
|
+
s.add_development_dependency('reek')
|
82
32
|
end
|
83
|
-
|
data/lib/authy.rb
CHANGED
data/lib/authy/api.rb
CHANGED
@@ -88,7 +88,7 @@ module Authy
|
|
88
88
|
response = if state
|
89
89
|
url = "#{Authy.api_uri}/#{eval_uri(uri, params)}"
|
90
90
|
params = clean_uri_params(uri_params, params)
|
91
|
-
http_client.get(url, {:api_key => Authy.api_key}.merge(params))
|
91
|
+
http_client.get(url, escape_params({:api_key => Authy.api_key}.merge(params)))
|
92
92
|
else
|
93
93
|
build_error_response(error)
|
94
94
|
end
|
@@ -96,18 +96,16 @@ module Authy
|
|
96
96
|
end
|
97
97
|
|
98
98
|
def self.build_error_response(error = "blank uri param found")
|
99
|
-
OpenStruct.new(
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
}.to_json
|
110
|
-
})
|
99
|
+
OpenStruct.new({
|
100
|
+
'status' => 400,
|
101
|
+
'body' => {
|
102
|
+
'success' => false,
|
103
|
+
'message' => error,
|
104
|
+
'errors' => {
|
105
|
+
'message' => error
|
106
|
+
}
|
107
|
+
}.to_json
|
108
|
+
})
|
111
109
|
end
|
112
110
|
end
|
113
111
|
end
|
data/lib/authy/url_helpers.rb
CHANGED
@@ -14,20 +14,22 @@ module Authy
|
|
14
14
|
end
|
15
15
|
|
16
16
|
def eval_uri(uri, params = {})
|
17
|
-
uri.gsub(/:\w+/)
|
17
|
+
uri.gsub(/:\w+/) do |s|
|
18
|
+
param_name = s.gsub(":", "")
|
19
|
+
HTTP::Message.escape(params[param_name].to_s)
|
20
|
+
end
|
18
21
|
end
|
19
22
|
|
20
23
|
def validate_for_url(names, to_validate = {})
|
21
24
|
names.each do |name|
|
22
25
|
value = to_validate[name]
|
23
26
|
if value.nil? or value.to_s.empty? or value.to_s.split(" ").size == 0
|
24
|
-
puts "#{name} param is blank."
|
25
27
|
return [ false, "#{name} is blank." ]
|
26
28
|
end
|
27
29
|
end
|
28
30
|
[ true, ""]
|
29
31
|
end
|
30
|
-
|
32
|
+
|
31
33
|
def escape_for_url(field)
|
32
34
|
URI.escape(field.to_s.strip, Regexp.new("[^#{URI::PATTERN::UNRESERVED}]"))
|
33
35
|
end
|
@@ -50,6 +52,16 @@ module Authy
|
|
50
52
|
end
|
51
53
|
end
|
52
54
|
|
55
|
+
def escape_params(params)
|
56
|
+
params.each do |attr, value|
|
57
|
+
if value.kind_of?(String)
|
58
|
+
params[attr] = HTTP::Message.escape(value)
|
59
|
+
elsif value.kind_of?(Hash)
|
60
|
+
escape_params(value)
|
61
|
+
end
|
62
|
+
end
|
63
|
+
end
|
64
|
+
|
53
65
|
# Copied and extended from httpclient's HTTP::Message#escape_query()
|
54
66
|
def escape_query(query, namespace = nil) # :nodoc:
|
55
67
|
pairs = []
|
data/spec/authy/api_spec.rb
CHANGED
@@ -58,6 +58,19 @@ describe "Authy::API" do
|
|
58
58
|
response.should_not be_ok
|
59
59
|
response.errors['message'].should =~ /invalid api key/i
|
60
60
|
end
|
61
|
+
|
62
|
+
it "should escape the params" do
|
63
|
+
expect {
|
64
|
+
Authy::API.verify(:token => '[=#%@$&#(!@);.,', :id => @user['id'])
|
65
|
+
}.to_not raise_error
|
66
|
+
end
|
67
|
+
|
68
|
+
it "should fail if a param is missing" do
|
69
|
+
response = Authy::API.verify(:id => @user['id'])
|
70
|
+
response.should be_kind_of(Authy::Response)
|
71
|
+
response.should_not be_ok
|
72
|
+
response["message"] =~ /token is blank/
|
73
|
+
end
|
61
74
|
end
|
62
75
|
|
63
76
|
["sms", "phone_call"].each do |kind|
|
@@ -71,7 +84,7 @@ describe "Authy::API" do
|
|
71
84
|
it "should request a #{title} token" do
|
72
85
|
uri_param = kind == "phone_call" ? "call" : kind
|
73
86
|
url = "#{Authy.api_uri}/protected/json/#{uri_param}/#{Authy::API.escape_for_url(@user.id)}"
|
74
|
-
HTTPClient.any_instance.should_receive(:request).with(:get, url, {:query=>{:api_key=> Authy.api_key}, :header=>nil, :follow_redirect=>nil}) {
|
87
|
+
HTTPClient.any_instance.should_receive(:request).with(:get, url, {:query=>{:api_key=> Authy.api_key}, :header=>nil, :follow_redirect=>nil}) { double(:ok? => true, :body => "", :status => 200) }
|
75
88
|
response = Authy::API.send("request_#{kind}", :id => @user.id)
|
76
89
|
response.should be_ok
|
77
90
|
end
|
metadata
CHANGED
@@ -2,42 +2,41 @@
|
|
2
2
|
name: authy
|
3
3
|
version: !ruby/object:Gem::Version
|
4
4
|
prerelease:
|
5
|
-
version: 2.
|
5
|
+
version: 2.3.0
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
|
-
- Authy
|
9
|
-
- David A. Cuadrado
|
8
|
+
- Authy Inc
|
10
9
|
autorequire:
|
11
10
|
bindir: bin
|
12
11
|
cert_chain: []
|
13
|
-
date:
|
12
|
+
date: 2014-02-19 00:00:00.000000000 Z
|
14
13
|
dependencies:
|
15
14
|
- !ruby/object:Gem::Dependency
|
15
|
+
prerelease: false
|
16
|
+
type: :runtime
|
16
17
|
version_requirements: !ruby/object:Gem::Requirement
|
17
18
|
none: false
|
18
19
|
requirements:
|
19
20
|
- - ! '>='
|
20
21
|
- !ruby/object:Gem::Version
|
21
|
-
version: 2.
|
22
|
+
version: 2.3.4
|
22
23
|
name: httpclient
|
23
|
-
type: :runtime
|
24
|
-
prerelease: false
|
25
24
|
requirement: !ruby/object:Gem::Requirement
|
26
25
|
none: false
|
27
26
|
requirements:
|
28
27
|
- - ! '>='
|
29
28
|
- !ruby/object:Gem::Version
|
30
|
-
version: 2.
|
29
|
+
version: 2.3.4
|
31
30
|
- !ruby/object:Gem::Dependency
|
31
|
+
prerelease: false
|
32
|
+
type: :development
|
32
33
|
version_requirements: !ruby/object:Gem::Requirement
|
33
34
|
none: false
|
34
35
|
requirements:
|
35
36
|
- - ! '>='
|
36
37
|
- !ruby/object:Gem::Version
|
37
38
|
version: '0'
|
38
|
-
name:
|
39
|
-
type: :development
|
40
|
-
prerelease: false
|
39
|
+
name: rake
|
41
40
|
requirement: !ruby/object:Gem::Requirement
|
42
41
|
none: false
|
43
42
|
requirements:
|
@@ -45,15 +44,15 @@ dependencies:
|
|
45
44
|
- !ruby/object:Gem::Version
|
46
45
|
version: '0'
|
47
46
|
- !ruby/object:Gem::Dependency
|
47
|
+
prerelease: false
|
48
|
+
type: :development
|
48
49
|
version_requirements: !ruby/object:Gem::Requirement
|
49
50
|
none: false
|
50
51
|
requirements:
|
51
52
|
- - ! '>='
|
52
53
|
- !ruby/object:Gem::Version
|
53
54
|
version: '0'
|
54
|
-
name:
|
55
|
-
type: :development
|
56
|
-
prerelease: false
|
55
|
+
name: rspec
|
57
56
|
requirement: !ruby/object:Gem::Requirement
|
58
57
|
none: false
|
59
58
|
requirements:
|
@@ -61,15 +60,15 @@ dependencies:
|
|
61
60
|
- !ruby/object:Gem::Version
|
62
61
|
version: '0'
|
63
62
|
- !ruby/object:Gem::Dependency
|
63
|
+
prerelease: false
|
64
|
+
type: :development
|
64
65
|
version_requirements: !ruby/object:Gem::Requirement
|
65
66
|
none: false
|
66
67
|
requirements:
|
67
68
|
- - ! '>='
|
68
69
|
- !ruby/object:Gem::Version
|
69
70
|
version: '0'
|
70
|
-
name:
|
71
|
-
type: :development
|
72
|
-
prerelease: false
|
71
|
+
name: pry
|
73
72
|
requirement: !ruby/object:Gem::Requirement
|
74
73
|
none: false
|
75
74
|
requirements:
|
@@ -77,15 +76,15 @@ dependencies:
|
|
77
76
|
- !ruby/object:Gem::Version
|
78
77
|
version: '0'
|
79
78
|
- !ruby/object:Gem::Dependency
|
79
|
+
prerelease: false
|
80
|
+
type: :development
|
80
81
|
version_requirements: !ruby/object:Gem::Requirement
|
81
82
|
none: false
|
82
83
|
requirements:
|
83
84
|
- - ! '>='
|
84
85
|
- !ruby/object:Gem::Version
|
85
86
|
version: '0'
|
86
|
-
name:
|
87
|
-
type: :development
|
88
|
-
prerelease: false
|
87
|
+
name: yard
|
89
88
|
requirement: !ruby/object:Gem::Requirement
|
90
89
|
none: false
|
91
90
|
requirements:
|
@@ -93,15 +92,15 @@ dependencies:
|
|
93
92
|
- !ruby/object:Gem::Version
|
94
93
|
version: '0'
|
95
94
|
- !ruby/object:Gem::Dependency
|
95
|
+
prerelease: false
|
96
|
+
type: :development
|
96
97
|
version_requirements: !ruby/object:Gem::Requirement
|
97
98
|
none: false
|
98
99
|
requirements:
|
99
100
|
- - ! '>='
|
100
101
|
- !ruby/object:Gem::Version
|
101
102
|
version: '0'
|
102
|
-
name:
|
103
|
-
type: :development
|
104
|
-
prerelease: false
|
103
|
+
name: rdoc
|
105
104
|
requirement: !ruby/object:Gem::Requirement
|
106
105
|
none: false
|
107
106
|
requirements:
|
@@ -109,6 +108,8 @@ dependencies:
|
|
109
108
|
- !ruby/object:Gem::Version
|
110
109
|
version: '0'
|
111
110
|
- !ruby/object:Gem::Dependency
|
111
|
+
prerelease: false
|
112
|
+
type: :development
|
112
113
|
version_requirements: !ruby/object:Gem::Requirement
|
113
114
|
none: false
|
114
115
|
requirements:
|
@@ -116,8 +117,6 @@ dependencies:
|
|
116
117
|
- !ruby/object:Gem::Version
|
117
118
|
version: '0'
|
118
119
|
name: simplecov
|
119
|
-
type: :development
|
120
|
-
prerelease: false
|
121
120
|
requirement: !ruby/object:Gem::Requirement
|
122
121
|
none: false
|
123
122
|
requirements:
|
@@ -125,6 +124,8 @@ dependencies:
|
|
125
124
|
- !ruby/object:Gem::Version
|
126
125
|
version: '0'
|
127
126
|
- !ruby/object:Gem::Dependency
|
127
|
+
prerelease: false
|
128
|
+
type: :development
|
128
129
|
version_requirements: !ruby/object:Gem::Requirement
|
129
130
|
none: false
|
130
131
|
requirements:
|
@@ -132,8 +133,6 @@ dependencies:
|
|
132
133
|
- !ruby/object:Gem::Version
|
133
134
|
version: '0'
|
134
135
|
name: reek
|
135
|
-
type: :development
|
136
|
-
prerelease: false
|
137
136
|
requirement: !ruby/object:Gem::Requirement
|
138
137
|
none: false
|
139
138
|
requirements:
|
@@ -141,18 +140,17 @@ dependencies:
|
|
141
140
|
- !ruby/object:Gem::Version
|
142
141
|
version: '0'
|
143
142
|
description: Ruby library to access Authy services
|
144
|
-
email:
|
143
|
+
email:
|
144
|
+
- support@authy.com
|
145
145
|
executables:
|
146
146
|
- authy-api-console
|
147
147
|
extensions: []
|
148
|
-
extra_rdoc_files:
|
149
|
-
- LICENSE.txt
|
150
|
-
- README.md
|
148
|
+
extra_rdoc_files: []
|
151
149
|
files:
|
152
150
|
- .document
|
151
|
+
- .gitignore
|
153
152
|
- .rspec
|
154
153
|
- Gemfile
|
155
|
-
- Gemfile.lock
|
156
154
|
- LICENSE.txt
|
157
155
|
- README.md
|
158
156
|
- Rakefile
|
@@ -167,11 +165,12 @@ files:
|
|
167
165
|
- lib/authy/models/user.rb
|
168
166
|
- lib/authy/response.rb
|
169
167
|
- lib/authy/url_helpers.rb
|
168
|
+
- lib/authy/version.rb
|
170
169
|
- spec/authy/api_spec.rb
|
171
170
|
- spec/authy/response_spec.rb
|
172
171
|
- spec/authy/url_helpers_spec.rb
|
173
172
|
- spec/spec_helper.rb
|
174
|
-
homepage:
|
173
|
+
homepage: https://github.com/authy/authy-ruby
|
175
174
|
licenses:
|
176
175
|
- MIT
|
177
176
|
post_install_message:
|
@@ -183,9 +182,6 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
183
182
|
requirements:
|
184
183
|
- - ! '>='
|
185
184
|
- !ruby/object:Gem::Version
|
186
|
-
segments:
|
187
|
-
- 0
|
188
|
-
hash: -1090702034643817061
|
189
185
|
version: '0'
|
190
186
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
191
187
|
none: false
|
@@ -194,9 +190,14 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
194
190
|
- !ruby/object:Gem::Version
|
195
191
|
version: '0'
|
196
192
|
requirements: []
|
197
|
-
rubyforge_project:
|
193
|
+
rubyforge_project: authy
|
198
194
|
rubygems_version: 1.8.24
|
199
195
|
signing_key:
|
200
196
|
specification_version: 3
|
201
197
|
summary: Ruby library to access Authy services
|
202
|
-
test_files:
|
198
|
+
test_files:
|
199
|
+
- spec/authy/api_spec.rb
|
200
|
+
- spec/authy/response_spec.rb
|
201
|
+
- spec/authy/url_helpers_spec.rb
|
202
|
+
- spec/spec_helper.rb
|
203
|
+
has_rdoc:
|
data/Gemfile.lock
DELETED
@@ -1,59 +0,0 @@
|
|
1
|
-
GEM
|
2
|
-
remote: http://rubygems.org/
|
3
|
-
specs:
|
4
|
-
coderay (1.0.9)
|
5
|
-
diff-lcs (1.2.4)
|
6
|
-
git (1.2.5)
|
7
|
-
httpclient (2.3.3)
|
8
|
-
jeweler (1.8.4)
|
9
|
-
bundler (~> 1.0)
|
10
|
-
git (>= 1.2.5)
|
11
|
-
rake
|
12
|
-
rdoc
|
13
|
-
json (1.8.0)
|
14
|
-
method_source (0.8.1)
|
15
|
-
multi_json (1.7.5)
|
16
|
-
pry (0.9.12.2)
|
17
|
-
coderay (~> 1.0.5)
|
18
|
-
method_source (~> 0.8)
|
19
|
-
slop (~> 3.4)
|
20
|
-
rake (10.0.4)
|
21
|
-
rdoc (4.0.1)
|
22
|
-
json (~> 1.4)
|
23
|
-
reek (1.3.1)
|
24
|
-
ruby2ruby (~> 2.0.2)
|
25
|
-
ruby_parser (~> 3.1.1)
|
26
|
-
sexp_processor
|
27
|
-
rspec (2.13.0)
|
28
|
-
rspec-core (~> 2.13.0)
|
29
|
-
rspec-expectations (~> 2.13.0)
|
30
|
-
rspec-mocks (~> 2.13.0)
|
31
|
-
rspec-core (2.13.1)
|
32
|
-
rspec-expectations (2.13.0)
|
33
|
-
diff-lcs (>= 1.1.3, < 2.0)
|
34
|
-
rspec-mocks (2.13.1)
|
35
|
-
ruby2ruby (2.0.5)
|
36
|
-
ruby_parser (~> 3.1)
|
37
|
-
sexp_processor (~> 4.0)
|
38
|
-
ruby_parser (3.1.3)
|
39
|
-
sexp_processor (~> 4.1)
|
40
|
-
sexp_processor (4.2.1)
|
41
|
-
simplecov (0.7.1)
|
42
|
-
multi_json (~> 1.0)
|
43
|
-
simplecov-html (~> 0.7.1)
|
44
|
-
simplecov-html (0.7.1)
|
45
|
-
slop (3.4.5)
|
46
|
-
yard (0.8.6.1)
|
47
|
-
|
48
|
-
PLATFORMS
|
49
|
-
ruby
|
50
|
-
|
51
|
-
DEPENDENCIES
|
52
|
-
httpclient (>= 2.2.6)
|
53
|
-
jeweler
|
54
|
-
pry
|
55
|
-
rdoc
|
56
|
-
reek
|
57
|
-
rspec
|
58
|
-
simplecov
|
59
|
-
yard
|