oa-core 0.2.3 → 0.2.4

Sign up to get free protection for your applications and to get access to all the features.
File without changes
data/.rspec ADDED
@@ -0,0 +1,3 @@
1
+ --color
2
+ --format=nested
3
+ --backtrace
@@ -0,0 +1,4 @@
1
+ --markup markdown
2
+ --markup-provider maruku
3
+ -
4
+ LICENSE
data/Gemfile ADDED
@@ -0,0 +1,3 @@
1
+ source 'http://rubygems.org'
2
+
3
+ gemspec
@@ -0,0 +1,6 @@
1
+ require 'bundler'
2
+ Bundler::GemHelper.install_tasks
3
+ require 'rspec/core/rake_task'
4
+ RSpec::Core::RakeTask.new(:spec)
5
+ task :default => :spec
6
+ task :test => :spec
@@ -0,0 +1 @@
1
+ Autotest.add_discovery { "rspec2" }
@@ -0,0 +1,22 @@
1
+ # -*- encoding: utf-8 -*-
2
+ require File.expand_path('../../omniauth/lib/omniauth/version', __FILE__)
3
+
4
+ Gem::Specification.new do |gem|
5
+ gem.add_development_dependency 'simplecov', '~> 0.4'
6
+ gem.add_development_dependency 'rack-test', '~> 0.5'
7
+ gem.add_development_dependency 'rake', '~> 0.8'
8
+ gem.add_development_dependency 'rspec', '~> 2.5'
9
+ gem.add_development_dependency 'yard', '~> 0.6'
10
+ gem.name = 'oa-core'
11
+ gem.version = Omniauth::VERSION.dup
12
+ gem.summary = %q{HTTP Basic strategies for OmniAuth.}
13
+ gem.description = %q{HTTP Basic strategies for OmniAuth.}
14
+ gem.email = ['michael@intridea.com', 'sferik@gmail.com']
15
+ gem.homepage = 'http://github.com/intridea/omniauth'
16
+ gem.authors = ['Michael Bleigh', 'Erik Michaels-Ober']
17
+ gem.executables = `git ls-files -- bin/*`.split("\n").map{|f| File.basename(f)}
18
+ gem.files = `git ls-files`.split("\n")
19
+ gem.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
20
+ gem.require_paths = ['lib']
21
+ gem.required_rubygems_version = Gem::Requirement.new('>= 1.3.6') if gem.respond_to? :required_rubygems_version=
22
+ end
@@ -0,0 +1,20 @@
1
+ require File.dirname(__FILE__) + '/../spec_helper'
2
+
3
+ describe OmniAuth::Builder do
4
+ describe '#provider' do
5
+ it 'should translate a symbol to a constant' do
6
+ OmniAuth::Strategies.should_receive(:const_get).with('MyStrategy').and_return(Class.new)
7
+ OmniAuth::Builder.new(nil) do
8
+ provider :my_strategy
9
+ end
10
+ end
11
+
12
+ it 'should also just accept a class' do
13
+ class ::ExampleClass; end
14
+
15
+ lambda{ OmniAuth::Builder.new(nil) do
16
+ provider ::ExampleClass
17
+ end }.should_not raise_error
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,79 @@
1
+ require File.dirname(__FILE__) + '/../spec_helper'
2
+
3
+ describe OmniAuth do
4
+ describe '.strategies' do
5
+ it 'should increase when a new strategy is made' do
6
+ lambda{ class ExampleStrategy
7
+ include OmniAuth::Strategy
8
+ end }.should change(OmniAuth.strategies, :size).by(1)
9
+ OmniAuth.strategies.last.should == ExampleStrategy
10
+ end
11
+ end
12
+
13
+ context 'configuration' do
14
+ it 'should be callable from .configure' do
15
+ OmniAuth.configure do |c|
16
+ c.should be_kind_of(OmniAuth::Configuration)
17
+ end
18
+ end
19
+
20
+ before do
21
+ @old_path_prefix = OmniAuth.config.path_prefix
22
+ @old_on_failure = OmniAuth.config.on_failure
23
+ end
24
+
25
+ after do
26
+ OmniAuth.configure do |config|
27
+ config.path_prefix = @old_path_prefix
28
+ config.on_failure = @old_on_failure
29
+ end
30
+ end
31
+
32
+ it 'should be able to set the path' do
33
+ OmniAuth.configure do |config|
34
+ config.path_prefix = '/awesome'
35
+ end
36
+
37
+ OmniAuth.config.path_prefix.should == '/awesome'
38
+ end
39
+
40
+ it 'should be able to set the on_failure rack app' do
41
+ OmniAuth.configure do |config|
42
+ config.on_failure do
43
+ 'yoyo'
44
+ end
45
+ end
46
+
47
+ OmniAuth.config.on_failure.call.should == 'yoyo'
48
+ end
49
+ end
50
+
51
+ describe '::Utils' do
52
+ describe '.deep_merge' do
53
+ it 'should combine hashes' do
54
+ OmniAuth::Utils.deep_merge({'abc' => {'def' => 123}}, {'abc' => {'foo' => 'bar'}}).should == {
55
+ 'abc' => {'def' => 123, 'foo' => 'bar'}
56
+ }
57
+ end
58
+ end
59
+
60
+ describe '.camelize' do
61
+ it 'should work on normal cases' do
62
+ {
63
+ 'some_word' => 'SomeWord',
64
+ 'AnotherWord' => 'AnotherWord',
65
+ 'one' => 'One',
66
+ 'three_words_now' => 'ThreeWordsNow'
67
+ }.each_pair{ |k,v| OmniAuth::Utils.camelize(k).should == v }
68
+ end
69
+
70
+ it 'should work in special cases' do
71
+ {
72
+ 'oauth' => "OAuth",
73
+ 'openid' => 'OpenID',
74
+ 'open_id' => 'OpenID'
75
+ }.each_pair{ |k,v| OmniAuth::Utils.camelize(k).should == v}
76
+ end
77
+ end
78
+ end
79
+ end
@@ -0,0 +1,342 @@
1
+ require 'spec_helper'
2
+
3
+ class ExampleStrategy
4
+ include OmniAuth::Strategy
5
+ def call(env); self.call!(env) end
6
+ attr_reader :last_env
7
+ def request_phase
8
+ @fail = fail!(options[:failure]) if options[:failure]
9
+ @last_env = env
10
+ return @fail if @fail
11
+ raise "Request Phase"
12
+ end
13
+ def callback_phase
14
+ @fail = fail!(options[:failure]) if options[:failure]
15
+ @last_env = env
16
+ return @fail if @fail
17
+ raise "Callback Phase"
18
+ end
19
+ end
20
+
21
+ def make_env(path = '/auth/test', props = {})
22
+ {
23
+ 'REQUEST_METHOD' => 'GET',
24
+ 'PATH_INFO' => path,
25
+ 'rack.session' => {},
26
+ 'rack.input' => StringIO.new('test=true')
27
+ }.merge(props)
28
+ end
29
+
30
+ describe OmniAuth::Strategy do
31
+ let(:app){ lambda{|env| [404, {}, ['Awesome']]}}
32
+ describe '#initialize' do
33
+ context 'options extraction' do
34
+ it 'should be the last argument if the last argument is a Hash' do
35
+ ExampleStrategy.new(app, 'test', :abc => 123).options[:abc].should == 123
36
+ end
37
+
38
+ it 'should be a blank hash if none are provided' do
39
+ ExampleStrategy.new(app, 'test').options.should == {}
40
+ end
41
+ end
42
+ end
43
+
44
+ describe '#full_host' do
45
+ let(:strategy){ ExampleStrategy.new(app, 'test', {}) }
46
+ it 'should not freak out if there is a pipe in the URL' do
47
+ strategy.call!(make_env('/whatever', 'rack.url_scheme' => 'http', 'SERVER_NAME' => 'facebook.lame', 'QUERY_STRING' => 'code=asofibasf|asoidnasd', 'SCRIPT_NAME' => '', 'SERVER_PORT' => 80))
48
+ lambda{ strategy.full_host }.should_not raise_error
49
+ end
50
+ end
51
+
52
+ describe '#call' do
53
+ let(:strategy){ ExampleStrategy.new(app, 'test', @options) }
54
+
55
+ context 'omniauth.origin' do
56
+ it 'should be set on the request phase' do
57
+ lambda{ strategy.call(make_env('/auth/test', 'HTTP_REFERER' => 'http://example.com/origin')) }.should raise_error("Request Phase")
58
+ strategy.last_env['rack.session']['omniauth.origin'].should == 'http://example.com/origin'
59
+ end
60
+
61
+ it 'should be turned into an env variable on the callback phase' do
62
+ lambda{ strategy.call(make_env('/auth/test/callback', 'rack.session' => {'omniauth.origin' => 'http://example.com/origin'})) }.should raise_error("Callback Phase")
63
+ strategy.last_env['omniauth.origin'].should == 'http://example.com/origin'
64
+ end
65
+
66
+ it 'should set from the params if provided' do
67
+ lambda{ strategy.call(make_env('/auth/test', 'QUERY_STRING' => 'origin=/foo')) }.should raise_error('Request Phase')
68
+ strategy.last_env['rack.session']['omniauth.origin'].should == '/foo'
69
+ end
70
+
71
+ it 'should be set on the failure env' do
72
+ OmniAuth.config.should_receive(:on_failure).and_return(lambda{|env| env})
73
+ @options = {:failure => :forced_fail}
74
+ strategy.call(make_env('/auth/test/callback', 'rack.session' => {'omniauth.origin' => '/awesome'}))
75
+ end
76
+
77
+ context "with script_name" do
78
+ it 'should be set on the request phase, containing full path' do
79
+ env = {'HTTP_REFERER' => 'http://example.com/sub_uri/origin', 'SCRIPT_NAME' => '/sub_uri' }
80
+ lambda{ strategy.call(make_env('/auth/test', env)) }.should raise_error("Request Phase")
81
+ strategy.last_env['rack.session']['omniauth.origin'].should == 'http://example.com/sub_uri/origin'
82
+ end
83
+
84
+ it 'should be turned into an env variable on the callback phase, containing full path' do
85
+ env = {
86
+ 'rack.session' => {'omniauth.origin' => 'http://example.com/sub_uri/origin'},
87
+ 'SCRIPT_NAME' => '/sub_uri'
88
+ }
89
+
90
+ lambda{ strategy.call(make_env('/auth/test/callback', env)) }.should raise_error("Callback Phase")
91
+ strategy.last_env['omniauth.origin'].should == 'http://example.com/sub_uri/origin'
92
+ end
93
+
94
+ end
95
+ end
96
+
97
+ context 'default paths' do
98
+ it 'should use the default request path' do
99
+ lambda{ strategy.call(make_env) }.should raise_error("Request Phase")
100
+ end
101
+
102
+ it 'should use the default callback path' do
103
+ lambda{ strategy.call(make_env('/auth/test/callback')) }.should raise_error("Callback Phase")
104
+ end
105
+
106
+ it 'should strip trailing spaces on request' do
107
+ lambda{ strategy.call(make_env('/auth/test/')) }.should raise_error("Request Phase")
108
+ end
109
+
110
+ it 'should strip trailing spaces on callback' do
111
+ lambda{ strategy.call(make_env('/auth/test/callback/')) }.should raise_error("Callback Phase")
112
+ end
113
+
114
+ context 'callback_url' do
115
+ it 'uses the default callback_path' do
116
+ strategy.should_receive(:full_host).and_return('http://example.com')
117
+
118
+ lambda{ strategy.call(make_env) }.should raise_error("Request Phase")
119
+
120
+ strategy.callback_url.should == 'http://example.com/auth/test/callback'
121
+ end
122
+
123
+ it 'preserves the query parameters' do
124
+ strategy.stub(:full_host).and_return('http://example.com')
125
+ begin
126
+ strategy.call(make_env('/auth/test', 'QUERY_STRING' => 'id=5'))
127
+ rescue RuntimeError; end
128
+ strategy.callback_url.should == 'http://example.com/auth/test/callback?id=5'
129
+ end
130
+
131
+ it 'consider script name' do
132
+ strategy.stub(:full_host).and_return('http://example.com')
133
+ begin
134
+ strategy.call(make_env('/auth/test', 'SCRIPT_NAME' => '/sub_uri'))
135
+ rescue RuntimeError; end
136
+ strategy.callback_url.should == 'http://example.com/sub_uri/auth/test/callback'
137
+ end
138
+ end
139
+ end
140
+
141
+ context 'pre-request call through' do
142
+ subject { ExampleStrategy.new(app, 'test') }
143
+ let(:app){ lambda{|env| env['omniauth.boom'] = true; [env['test.status'] || 404, {}, ['Whatev']] } }
144
+ it 'should be able to modify the env on the fly before the request_phase' do
145
+ lambda{ subject.call(make_env) }.should raise_error("Request Phase")
146
+ subject.response.status.should == 404
147
+ subject.last_env.should be_key('omniauth.boom')
148
+ end
149
+
150
+ it 'should call through to the app instead if a non-404 response is received' do
151
+ lambda{ subject.call(make_env('/auth/test', 'test.status' => 200)) }.should_not raise_error
152
+ subject.response.body.should == ['Whatev']
153
+ end
154
+ end
155
+
156
+ context 'custom paths' do
157
+ it 'should use a custom request_path if one is provided' do
158
+ @options = {:request_path => '/awesome'}
159
+ lambda{ strategy.call(make_env('/awesome')) }.should raise_error("Request Phase")
160
+ end
161
+
162
+ it 'should use a custom callback_path if one is provided' do
163
+ @options = {:callback_path => '/radical'}
164
+ lambda{ strategy.call(make_env('/radical')) }.should raise_error("Callback Phase")
165
+ end
166
+
167
+ context 'callback_url' do
168
+ it 'uses a custom callback_path if one is provided' do
169
+ @options = {:callback_path => '/radical'}
170
+ strategy.should_receive(:full_host).and_return('http://example.com')
171
+
172
+ lambda{ strategy.call(make_env('/radical')) }.should raise_error("Callback Phase")
173
+
174
+ strategy.callback_url.should == 'http://example.com/radical'
175
+ end
176
+
177
+ it 'preserves the query parameters' do
178
+ @options = {:callback_path => '/radical'}
179
+ strategy.stub(:full_host).and_return('http://example.com')
180
+ begin
181
+ strategy.call(make_env('/auth/test', 'QUERY_STRING' => 'id=5'))
182
+ rescue RuntimeError; end
183
+ strategy.callback_url.should == 'http://example.com/radical?id=5'
184
+ end
185
+ end
186
+ end
187
+
188
+ context 'custom prefix' do
189
+ before do
190
+ @options = {:path_prefix => '/wowzers'}
191
+ end
192
+
193
+ it 'should use a custom prefix for request' do
194
+ lambda{ strategy.call(make_env('/wowzers/test')) }.should raise_error("Request Phase")
195
+ end
196
+
197
+ it 'should use a custom prefix for callback' do
198
+ lambda{ strategy.call(make_env('/wowzers/test/callback')) }.should raise_error("Callback Phase")
199
+ end
200
+
201
+ context 'callback_url' do
202
+ it 'uses a custom prefix' do
203
+ strategy.should_receive(:full_host).and_return('http://example.com')
204
+
205
+ lambda{ strategy.call(make_env('/wowzers/test')) }.should raise_error("Request Phase")
206
+
207
+ strategy.callback_url.should == 'http://example.com/wowzers/test/callback'
208
+ end
209
+
210
+ it 'preserves the query parameters' do
211
+ strategy.stub(:full_host).and_return('http://example.com')
212
+ begin
213
+ strategy.call(make_env('/auth/test', 'QUERY_STRING' => 'id=5'))
214
+ rescue RuntimeError; end
215
+ strategy.callback_url.should == 'http://example.com/wowzers/test/callback?id=5'
216
+ end
217
+ end
218
+ end
219
+
220
+ context 'request method restriction' do
221
+ before do
222
+ OmniAuth.config.allowed_request_methods = [:post]
223
+ end
224
+
225
+ it 'should not allow a request method of the wrong type' do
226
+ lambda{ strategy.call(make_env)}.should_not raise_error
227
+ end
228
+
229
+ it 'should allow a request method of the correct type' do
230
+ lambda{ strategy.call(make_env('/auth/test', 'REQUEST_METHOD' => 'POST'))}.should raise_error("Request Phase")
231
+ end
232
+
233
+ after do
234
+ OmniAuth.config.allowed_request_methods = [:get, :post]
235
+ end
236
+ end
237
+
238
+ context 'test mode' do
239
+ before do
240
+ OmniAuth.config.test_mode = true
241
+ end
242
+
243
+ it 'should short circuit the request phase entirely' do
244
+ response = strategy.call(make_env)
245
+ response[0].should == 302
246
+ response[1]['Location'].should == '/auth/test/callback'
247
+ end
248
+
249
+ it 'should not short circuit requests outside of authentication' do
250
+ strategy.call(make_env('/')).should == app.call(make_env('/'))
251
+ end
252
+
253
+ it 'should respond with the default hash if none is set' do
254
+ strategy.call make_env('/auth/test/callback')
255
+ strategy.env['omniauth.auth']['uid'].should == '1234'
256
+ end
257
+
258
+ it 'should respond with a provider-specific hash if one is set' do
259
+ OmniAuth.config.mock_auth[:test] = {
260
+ 'uid' => 'abc'
261
+ }
262
+
263
+ strategy.call make_env('/auth/test/callback')
264
+ strategy.env['omniauth.auth']['uid'].should == 'abc'
265
+ end
266
+
267
+ it 'should simulate login failure if mocked data is set as a symbol' do
268
+ OmniAuth.config.mock_auth[:test] = :invalid_credentials
269
+
270
+ strategy.call make_env('/auth/test/callback')
271
+ strategy.env['omniauth.error.type'].should == :invalid_credentials
272
+ end
273
+
274
+ it 'should set omniauth.origin on the request phase' do
275
+ strategy.call(make_env('/auth/test', 'HTTP_REFERER' => 'http://example.com/origin'))
276
+ strategy.env['rack.session']['omniauth.origin'].should == 'http://example.com/origin'
277
+ end
278
+
279
+ it 'should set omniauth.origin from the params if provided' do
280
+ strategy.call(make_env('/auth/test', 'QUERY_STRING' => 'origin=/foo'))
281
+ strategy.env['rack.session']['omniauth.origin'].should == '/foo'
282
+ end
283
+
284
+ it 'should turn omniauth.origin into an env variable on the callback phase' do
285
+ OmniAuth.config.mock_auth[:test] = {}
286
+
287
+ strategy.call(make_env('/auth/test/callback', 'rack.session' => {'omniauth.origin' => 'http://example.com/origin'}))
288
+ strategy.env['omniauth.origin'].should == 'http://example.com/origin'
289
+ end
290
+ end
291
+
292
+ context 'custom full_host' do
293
+ it 'should be the string when a string is there' do
294
+ OmniAuth.config.full_host = 'my.host.com'
295
+ strategy.full_host.should == 'my.host.com'
296
+ end
297
+
298
+ it 'should run the proc with the env when it is a proc' do
299
+ OmniAuth.config.full_host = Proc.new{|env| env['HOST']}
300
+ strategy.call(make_env('/auth/test', 'HOST' => 'my.host.net'))
301
+ strategy.full_host.should == 'my.host.net'
302
+ end
303
+ end
304
+ end
305
+
306
+ context 'setup phase' do
307
+ context 'when options[:setup] = true' do
308
+ let(:strategy){ ExampleStrategy.new(app, 'test', :setup => true) }
309
+ let(:app){lambda{|env| env['omniauth.strategy'].options[:awesome] = 'sauce' if env['PATH_INFO'] == '/auth/test/setup'; [404, {}, 'Awesome'] }}
310
+
311
+ it 'should call through to /auth/:provider/setup' do
312
+ strategy.call(make_env('/auth/test'))
313
+ strategy.options[:awesome].should == 'sauce'
314
+ end
315
+
316
+ it 'should not call through on a non-omniauth endpoint' do
317
+ strategy.call(make_env('/somewhere/else'))
318
+ strategy.options[:awesome].should_not == 'sauce'
319
+ end
320
+ end
321
+
322
+ context 'when options[:setup] is an app' do
323
+ let(:setup_proc) do
324
+ Proc.new do |env|
325
+ env['omniauth.strategy'].options[:awesome] = 'sauce'
326
+ end
327
+ end
328
+
329
+ let(:strategy){ ExampleStrategy.new(app, 'test', :setup => setup_proc) }
330
+
331
+ it 'should not call the app on a non-omniauth endpoint' do
332
+ strategy.call(make_env('/somehwere/else'))
333
+ strategy.options[:awesome].should_not == 'sauce'
334
+ end
335
+
336
+ it 'should call the rack app' do
337
+ strategy.call(make_env('/auth/test'))
338
+ strategy.options[:awesome].should == 'sauce'
339
+ end
340
+ end
341
+ end
342
+ end
@@ -0,0 +1,16 @@
1
+ require 'simplecov'
2
+ SimpleCov.start
3
+ require 'rubygems'
4
+ require 'bundler'
5
+ Bundler.setup
6
+ require 'rspec'
7
+ require 'rspec/autorun'
8
+ require 'rack/test'
9
+ require 'omniauth/core'
10
+ require 'omniauth/test'
11
+
12
+ RSpec.configure do |config|
13
+ config.include Rack::Test::Methods
14
+ config.extend OmniAuth::Test::StrategyMacros, :type => :strategy
15
+ end
16
+
metadata CHANGED
@@ -2,118 +2,76 @@
2
2
  name: oa-core
3
3
  version: !ruby/object:Gem::Version
4
4
  prerelease:
5
- version: 0.2.3
5
+ version: 0.2.4
6
6
  platform: ruby
7
7
  authors:
8
8
  - Michael Bleigh
9
+ - Erik Michaels-Ober
9
10
  autorequire:
10
11
  bindir: bin
11
12
  cert_chain: []
12
13
 
13
- date: 2011-04-21 00:00:00 -05:00
14
- default_executable:
14
+ date: 2011-04-22 00:00:00 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
- name: rack
17
+ name: simplecov
18
+ prerelease: false
18
19
  requirement: &id001 !ruby/object:Gem::Requirement
19
20
  none: false
20
21
  requirements:
21
22
  - - ~>
22
23
  - !ruby/object:Gem::Version
23
- version: "1.1"
24
- type: :runtime
25
- prerelease: false
24
+ version: "0.4"
25
+ type: :development
26
26
  version_requirements: *id001
27
27
  - !ruby/object:Gem::Dependency
28
- name: addressable
28
+ name: rack-test
29
+ prerelease: false
29
30
  requirement: &id002 !ruby/object:Gem::Requirement
30
31
  none: false
31
32
  requirements:
32
- - - "="
33
+ - - ~>
33
34
  - !ruby/object:Gem::Version
34
- version: 0.2.4
35
+ version: "0.5"
35
36
  type: :development
36
- prerelease: false
37
37
  version_requirements: *id002
38
38
  - !ruby/object:Gem::Dependency
39
39
  name: rake
40
+ prerelease: false
40
41
  requirement: &id003 !ruby/object:Gem::Requirement
41
42
  none: false
42
43
  requirements:
43
- - - ">="
44
+ - - ~>
44
45
  - !ruby/object:Gem::Version
45
- version: "0"
46
+ version: "0.8"
46
47
  type: :development
47
- prerelease: false
48
48
  version_requirements: *id003
49
49
  - !ruby/object:Gem::Dependency
50
- name: mg
50
+ name: rspec
51
+ prerelease: false
51
52
  requirement: &id004 !ruby/object:Gem::Requirement
52
53
  none: false
53
54
  requirements:
54
55
  - - ~>
55
56
  - !ruby/object:Gem::Version
56
- version: 0.0.8
57
+ version: "2.5"
57
58
  type: :development
58
- prerelease: false
59
59
  version_requirements: *id004
60
60
  - !ruby/object:Gem::Dependency
61
- name: rspec
61
+ name: yard
62
+ prerelease: false
62
63
  requirement: &id005 !ruby/object:Gem::Requirement
63
64
  none: false
64
65
  requirements:
65
66
  - - ~>
66
67
  - !ruby/object:Gem::Version
67
- version: 1.3.0
68
+ version: "0.6"
68
69
  type: :development
69
- prerelease: false
70
70
  version_requirements: *id005
71
- - !ruby/object:Gem::Dependency
72
- name: webmock
73
- requirement: &id006 !ruby/object:Gem::Requirement
74
- none: false
75
- requirements:
76
- - - ~>
77
- - !ruby/object:Gem::Version
78
- version: 1.3.4
79
- type: :development
80
- prerelease: false
81
- version_requirements: *id006
82
- - !ruby/object:Gem::Dependency
83
- name: rack-test
84
- requirement: &id007 !ruby/object:Gem::Requirement
85
- none: false
86
- requirements:
87
- - - ~>
88
- - !ruby/object:Gem::Version
89
- version: 0.5.4
90
- type: :development
91
- prerelease: false
92
- version_requirements: *id007
93
- - !ruby/object:Gem::Dependency
94
- name: json_pure
95
- requirement: &id008 !ruby/object:Gem::Requirement
96
- none: false
97
- requirements:
98
- - - ~>
99
- - !ruby/object:Gem::Version
100
- version: 1.5.1
101
- type: :development
102
- prerelease: false
103
- version_requirements: *id008
104
- - !ruby/object:Gem::Dependency
105
- name: evernote
106
- requirement: &id009 !ruby/object:Gem::Requirement
107
- none: false
108
- requirements:
109
- - - ~>
110
- - !ruby/object:Gem::Version
111
- version: 0.9.0
112
- type: :development
113
- prerelease: false
114
- version_requirements: *id009
115
71
  description: HTTP Basic strategies for OmniAuth.
116
- email: michael@intridea.com
72
+ email:
73
+ - michael@intridea.com
74
+ - sferik@gmail.com
117
75
  executables: []
118
76
 
119
77
  extensions: []
@@ -121,17 +79,27 @@ extensions: []
121
79
  extra_rdoc_files: []
122
80
 
123
81
  files:
82
+ - .gemtest
83
+ - .rspec
84
+ - .yardopts
85
+ - Gemfile
86
+ - LICENSE
87
+ - Rakefile
88
+ - autotest/discover.rb
124
89
  - lib/oa-core.rb
125
90
  - lib/omniauth/builder.rb
126
91
  - lib/omniauth/core.rb
127
92
  - lib/omniauth/form.rb
128
93
  - lib/omniauth/strategy.rb
94
+ - lib/omniauth/test.rb
129
95
  - lib/omniauth/test/phony_session.rb
130
96
  - lib/omniauth/test/strategy_macros.rb
131
97
  - lib/omniauth/test/strategy_test_case.rb
132
- - lib/omniauth/test.rb
133
- - LICENSE
134
- has_rdoc: true
98
+ - oa-core.gemspec
99
+ - spec/omniauth/builder_spec.rb
100
+ - spec/omniauth/core_spec.rb
101
+ - spec/omniauth/strategy_spec.rb
102
+ - spec/spec_helper.rb
135
103
  homepage: http://github.com/intridea/omniauth
136
104
  licenses: []
137
105
 
@@ -145,25 +113,23 @@ required_ruby_version: !ruby/object:Gem::Requirement
145
113
  requirements:
146
114
  - - ">="
147
115
  - !ruby/object:Gem::Version
148
- hash: -927644400765707217
149
- segments:
150
- - 0
151
116
  version: "0"
152
117
  required_rubygems_version: !ruby/object:Gem::Requirement
153
118
  none: false
154
119
  requirements:
155
120
  - - ">="
156
121
  - !ruby/object:Gem::Version
157
- hash: -927644400765707217
158
- segments:
159
- - 0
160
- version: "0"
122
+ version: 1.3.6
161
123
  requirements: []
162
124
 
163
125
  rubyforge_project:
164
- rubygems_version: 1.6.2
126
+ rubygems_version: 1.7.2
165
127
  signing_key:
166
128
  specification_version: 3
167
129
  summary: HTTP Basic strategies for OmniAuth.
168
- test_files: []
169
-
130
+ test_files:
131
+ - spec/omniauth/builder_spec.rb
132
+ - spec/omniauth/core_spec.rb
133
+ - spec/omniauth/strategy_spec.rb
134
+ - spec/spec_helper.rb
135
+ has_rdoc: