authy 2.2.0 → 2.3.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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
@@ -1 +1,2 @@
1
1
  --color
2
+ --order random
data/Gemfile CHANGED
@@ -1,6 +1,6 @@
1
- source "http://rubygems.org"
1
+ source "https://rubygems.org"
2
2
 
3
- gem 'httpclient', ">= 2.2.6"
3
+ gem 'httpclient', ">= 2.3.4"
4
4
 
5
5
  group :development do
6
6
  gem "rspec"
@@ -1,4 +1,4 @@
1
- Copyright (c) 2012 David A. Cuadrado
1
+ Copyright (c) 2012-2014 Authy Inc
2
2
 
3
3
  Permission is hereby granted, free of charge, to any person obtaining
4
4
  a copy of this software and associated documentation files (the
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
- # encoding: utf-8
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.2.0
1
+ 2.3.0
@@ -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 = "authy"
8
- s.version = "2.2.0"
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.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
- s.authors = ["Authy", "David A. Cuadrado"]
12
- s.date = "2013-06-17"
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
- if s.respond_to? :specification_version then
51
- s.specification_version = 3
23
+ s.add_dependency('httpclient', '>= 2.3.4')
52
24
 
53
- if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
54
- s.add_runtime_dependency(%q<httpclient>, [">= 2.2.6"])
55
- s.add_development_dependency(%q<rspec>, [">= 0"])
56
- s.add_development_dependency(%q<pry>, [">= 0"])
57
- s.add_development_dependency(%q<yard>, [">= 0"])
58
- s.add_development_dependency(%q<rdoc>, [">= 0"])
59
- s.add_development_dependency(%q<jeweler>, [">= 0"])
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
-
@@ -10,4 +10,4 @@ require 'authy/response'
10
10
  require 'authy/models/user'
11
11
  require 'authy/config'
12
12
  require 'authy/api'
13
-
13
+ require 'authy/version'
@@ -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
- 'status' => 400,
102
- 'body' =>
103
- {
104
- 'success' => false,
105
- 'message' => error,
106
- 'errors' => {
107
- 'message' => error
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
@@ -14,20 +14,22 @@ module Authy
14
14
  end
15
15
 
16
16
  def eval_uri(uri, params = {})
17
- uri.gsub(/:\w+/) {|s| params[s.gsub(":", "")]}
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 = []
@@ -0,0 +1,3 @@
1
+ module Authy
2
+ VERSION = "2.3.0"
3
+ end
@@ -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}) { mock(:ok? => true, :body => "", :status => 200) }
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.2.0
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: 2013-06-17 00:00:00.000000000 Z
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.2.6
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.2.6
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: rspec
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: pry
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: yard
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: rdoc
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: jeweler
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: krawek@gmail.com
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: http://github.com/authy/authy
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:
@@ -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