omniauth 0.2.6 → 0.3.0.rc3

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of omniauth might be problematic. Click here for more details.

Files changed (189) hide show
  1. data/README.md +62 -34
  2. data/lib/omniauth/version.rb +3 -3
  3. metadata +74 -228
  4. data/Gemfile +0 -12
  5. data/Rakefile +0 -51
  6. data/oa-basic/Gemfile +0 -7
  7. data/oa-basic/LICENSE +0 -19
  8. data/oa-basic/README.rdoc +0 -34
  9. data/oa-basic/Rakefile +0 -6
  10. data/oa-basic/lib/oa-basic.rb +0 -1
  11. data/oa-basic/lib/omniauth/basic.rb +0 -8
  12. data/oa-basic/lib/omniauth/strategies/http_basic.rb +0 -56
  13. data/oa-basic/lib/omniauth/version.rb +0 -19
  14. data/oa-basic/oa-basic.gemspec +0 -27
  15. data/oa-basic/spec/omniauth/strategies/basic_spec.rb +0 -7
  16. data/oa-basic/spec/spec_helper.rb +0 -11
  17. data/oa-core/Gemfile +0 -3
  18. data/oa-core/LICENSE +0 -19
  19. data/oa-core/Rakefile +0 -6
  20. data/oa-core/autotest/discover.rb +0 -1
  21. data/oa-core/lib/oa-core.rb +0 -1
  22. data/oa-core/lib/omniauth/builder.rb +0 -33
  23. data/oa-core/lib/omniauth/core.rb +0 -135
  24. data/oa-core/lib/omniauth/form.rb +0 -186
  25. data/oa-core/lib/omniauth/strategy.rb +0 -227
  26. data/oa-core/lib/omniauth/test.rb +0 -12
  27. data/oa-core/lib/omniauth/test/phony_session.rb +0 -8
  28. data/oa-core/lib/omniauth/test/strategy_macros.rb +0 -34
  29. data/oa-core/lib/omniauth/test/strategy_test_case.rb +0 -49
  30. data/oa-core/lib/omniauth/version.rb +0 -19
  31. data/oa-core/oa-core.gemspec +0 -24
  32. data/oa-core/spec/omniauth/builder_spec.rb +0 -20
  33. data/oa-core/spec/omniauth/core_spec.rb +0 -79
  34. data/oa-core/spec/omniauth/strategy_spec.rb +0 -363
  35. data/oa-core/spec/spec_helper.rb +0 -12
  36. data/oa-enterprise/Gemfile +0 -7
  37. data/oa-enterprise/LICENSE +0 -19
  38. data/oa-enterprise/README.rdoc +0 -82
  39. data/oa-enterprise/Rakefile +0 -6
  40. data/oa-enterprise/lib/oa-enterprise.rb +0 -1
  41. data/oa-enterprise/lib/omniauth/enterprise.rb +0 -8
  42. data/oa-enterprise/lib/omniauth/strategies/cas.rb +0 -47
  43. data/oa-enterprise/lib/omniauth/strategies/cas/configuration.rb +0 -98
  44. data/oa-enterprise/lib/omniauth/strategies/cas/service_ticket_validator.rb +0 -91
  45. data/oa-enterprise/lib/omniauth/strategies/ldap.rb +0 -111
  46. data/oa-enterprise/lib/omniauth/strategies/ldap/adaptor.rb +0 -279
  47. data/oa-enterprise/lib/omniauth/version.rb +0 -19
  48. data/oa-enterprise/oa-enterprise.gemspec +0 -31
  49. data/oa-enterprise/spec/fixtures/cas_failure.xml +0 -4
  50. data/oa-enterprise/spec/fixtures/cas_success.xml +0 -8
  51. data/oa-enterprise/spec/omniauth/strategies/cas_spec.rb +0 -94
  52. data/oa-enterprise/spec/omniauth/strategies/ldap_spec.rb +0 -41
  53. data/oa-enterprise/spec/spec_helper.rb +0 -14
  54. data/oa-more/Gemfile +0 -7
  55. data/oa-more/LICENSE +0 -19
  56. data/oa-more/README.rdoc +0 -22
  57. data/oa-more/Rakefile +0 -6
  58. data/oa-more/lib/oa-more.rb +0 -1
  59. data/oa-more/lib/omniauth/more.rb +0 -11
  60. data/oa-more/lib/omniauth/strategies/draugiem.rb +0 -104
  61. data/oa-more/lib/omniauth/strategies/flickr.rb +0 -86
  62. data/oa-more/lib/omniauth/strategies/ign.rb +0 -93
  63. data/oa-more/lib/omniauth/strategies/windows_live.rb +0 -39
  64. data/oa-more/lib/omniauth/strategies/windows_live/windowslivelogin.rb +0 -1143
  65. data/oa-more/lib/omniauth/strategies/yupoo.rb +0 -67
  66. data/oa-more/lib/omniauth/version.rb +0 -19
  67. data/oa-more/oa-more.gemspec +0 -29
  68. data/oa-more/spec/omniauth/strategies/draugiem_spec.rb +0 -51
  69. data/oa-more/spec/omniauth/strategies/flickr_spec.rb +0 -7
  70. data/oa-more/spec/spec_helper.rb +0 -11
  71. data/oa-oauth/Gemfile +0 -7
  72. data/oa-oauth/LICENSE +0 -19
  73. data/oa-oauth/README.rdoc +0 -35
  74. data/oa-oauth/Rakefile +0 -6
  75. data/oa-oauth/autotest/discover.rb +0 -1
  76. data/oa-oauth/lib/oa-oauth.rb +0 -1
  77. data/oa-oauth/lib/omniauth/oauth.rb +0 -56
  78. data/oa-oauth/lib/omniauth/strategies/bitly.rb +0 -46
  79. data/oa-oauth/lib/omniauth/strategies/dailymile.rb +0 -64
  80. data/oa-oauth/lib/omniauth/strategies/doit.rb +0 -60
  81. data/oa-oauth/lib/omniauth/strategies/dopplr.rb +0 -53
  82. data/oa-oauth/lib/omniauth/strategies/douban.rb +0 -60
  83. data/oa-oauth/lib/omniauth/strategies/evernote.rb +0 -54
  84. data/oa-oauth/lib/omniauth/strategies/facebook.rb +0 -70
  85. data/oa-oauth/lib/omniauth/strategies/foursquare.rb +0 -62
  86. data/oa-oauth/lib/omniauth/strategies/github.rb +0 -50
  87. data/oa-oauth/lib/omniauth/strategies/goodreads.rb +0 -44
  88. data/oa-oauth/lib/omniauth/strategies/google.rb +0 -80
  89. data/oa-oauth/lib/omniauth/strategies/gowalla.rb +0 -72
  90. data/oa-oauth/lib/omniauth/strategies/hyves.rb +0 -67
  91. data/oa-oauth/lib/omniauth/strategies/identica.rb +0 -49
  92. data/oa-oauth/lib/omniauth/strategies/instagram.rb +0 -56
  93. data/oa-oauth/lib/omniauth/strategies/instapaper.rb +0 -40
  94. data/oa-oauth/lib/omniauth/strategies/linked_in.rb +0 -56
  95. data/oa-oauth/lib/omniauth/strategies/mailru.rb +0 -107
  96. data/oa-oauth/lib/omniauth/strategies/meetup.rb +0 -56
  97. data/oa-oauth/lib/omniauth/strategies/miso.rb +0 -41
  98. data/oa-oauth/lib/omniauth/strategies/mixi.rb +0 -59
  99. data/oa-oauth/lib/omniauth/strategies/netflix.rb +0 -65
  100. data/oa-oauth/lib/omniauth/strategies/oauth.rb +0 -83
  101. data/oa-oauth/lib/omniauth/strategies/oauth2.rb +0 -91
  102. data/oa-oauth/lib/omniauth/strategies/plurk.rb +0 -58
  103. data/oa-oauth/lib/omniauth/strategies/qzone.rb +0 -69
  104. data/oa-oauth/lib/omniauth/strategies/rdio.rb +0 -45
  105. data/oa-oauth/lib/omniauth/strategies/renren.rb +0 -87
  106. data/oa-oauth/lib/omniauth/strategies/salesforce.rb +0 -44
  107. data/oa-oauth/lib/omniauth/strategies/smug_mug.rb +0 -42
  108. data/oa-oauth/lib/omniauth/strategies/sound_cloud.rb +0 -46
  109. data/oa-oauth/lib/omniauth/strategies/t163.rb +0 -57
  110. data/oa-oauth/lib/omniauth/strategies/taobao.rb +0 -79
  111. data/oa-oauth/lib/omniauth/strategies/teambox.rb +0 -49
  112. data/oa-oauth/lib/omniauth/strategies/thirty_seven_signals.rb +0 -41
  113. data/oa-oauth/lib/omniauth/strategies/tqq.rb +0 -64
  114. data/oa-oauth/lib/omniauth/strategies/trade_me.rb +0 -45
  115. data/oa-oauth/lib/omniauth/strategies/trip_it.rb +0 -22
  116. data/oa-oauth/lib/omniauth/strategies/tsina.rb +0 -79
  117. data/oa-oauth/lib/omniauth/strategies/tsohu.rb +0 -57
  118. data/oa-oauth/lib/omniauth/strategies/tumblr.rb +0 -60
  119. data/oa-oauth/lib/omniauth/strategies/twitter.rb +0 -57
  120. data/oa-oauth/lib/omniauth/strategies/type_pad.rb +0 -76
  121. data/oa-oauth/lib/omniauth/strategies/vimeo.rb +0 -54
  122. data/oa-oauth/lib/omniauth/strategies/vkontakte.rb +0 -87
  123. data/oa-oauth/lib/omniauth/strategies/xauth.rb +0 -67
  124. data/oa-oauth/lib/omniauth/strategies/yahoo.rb +0 -55
  125. data/oa-oauth/lib/omniauth/strategies/yammer.rb +0 -43
  126. data/oa-oauth/lib/omniauth/strategies/you_tube.rb +0 -73
  127. data/oa-oauth/lib/omniauth/version.rb +0 -19
  128. data/oa-oauth/oa-oauth.gemspec +0 -32
  129. data/oa-oauth/spec/fixtures/basecamp_200.xml +0 -24
  130. data/oa-oauth/spec/fixtures/campfire_200.json +0 -10
  131. data/oa-oauth/spec/omniauth/strategies/bitly_spec.rb +0 -5
  132. data/oa-oauth/spec/omniauth/strategies/dailymile_spec.rb +0 -5
  133. data/oa-oauth/spec/omniauth/strategies/doit_spec.rb +0 -5
  134. data/oa-oauth/spec/omniauth/strategies/dopplr_spec.rb +0 -5
  135. data/oa-oauth/spec/omniauth/strategies/douban_spec.rb +0 -5
  136. data/oa-oauth/spec/omniauth/strategies/evernote_spec.rb +0 -5
  137. data/oa-oauth/spec/omniauth/strategies/facebook_spec.rb +0 -5
  138. data/oa-oauth/spec/omniauth/strategies/foursquare_spec.rb +0 -18
  139. data/oa-oauth/spec/omniauth/strategies/github_spec.rb +0 -5
  140. data/oa-oauth/spec/omniauth/strategies/goodreads_spec.rb +0 -6
  141. data/oa-oauth/spec/omniauth/strategies/google_spec.rb +0 -5
  142. data/oa-oauth/spec/omniauth/strategies/gowalla_spec.rb +0 -5
  143. data/oa-oauth/spec/omniauth/strategies/hyves_spec.rb +0 -5
  144. data/oa-oauth/spec/omniauth/strategies/identica_spec.rb +0 -5
  145. data/oa-oauth/spec/omniauth/strategies/linked_in_spec.rb +0 -5
  146. data/oa-oauth/spec/omniauth/strategies/mailru_spec.rb +0 -5
  147. data/oa-oauth/spec/omniauth/strategies/meetup_spec.rb +0 -14
  148. data/oa-oauth/spec/omniauth/strategies/miso_spec.rb +0 -5
  149. data/oa-oauth/spec/omniauth/strategies/netflix_spec.rb +0 -5
  150. data/oa-oauth/spec/omniauth/strategies/oauth2_spec.rb +0 -0
  151. data/oa-oauth/spec/omniauth/strategies/oauth_spec.rb +0 -77
  152. data/oa-oauth/spec/omniauth/strategies/plurk_spec.rb +0 -5
  153. data/oa-oauth/spec/omniauth/strategies/rdio_spec.rb +0 -5
  154. data/oa-oauth/spec/omniauth/strategies/salesforce_spec.rb +0 -5
  155. data/oa-oauth/spec/omniauth/strategies/smug_mug_spec.rb +0 -5
  156. data/oa-oauth/spec/omniauth/strategies/sound_cloud_spec.rb +0 -5
  157. data/oa-oauth/spec/omniauth/strategies/t163_spec.rb +0 -5
  158. data/oa-oauth/spec/omniauth/strategies/taobao_spec.rb +0 -5
  159. data/oa-oauth/spec/omniauth/strategies/teambox_spec.rb +0 -5
  160. data/oa-oauth/spec/omniauth/strategies/thirty_seven_signals_spec.rb +0 -5
  161. data/oa-oauth/spec/omniauth/strategies/trade_me_spec.rb +0 -5
  162. data/oa-oauth/spec/omniauth/strategies/trip_it_spec.rb +0 -5
  163. data/oa-oauth/spec/omniauth/strategies/tsina_spec.rb +0 -5
  164. data/oa-oauth/spec/omniauth/strategies/tumblr_spec.rb +0 -5
  165. data/oa-oauth/spec/omniauth/strategies/twitter_spec.rb +0 -20
  166. data/oa-oauth/spec/omniauth/strategies/type_pad_spec.rb +0 -5
  167. data/oa-oauth/spec/omniauth/strategies/vimeo_spec.rb +0 -5
  168. data/oa-oauth/spec/omniauth/strategies/vkontakte_spec.rb +0 -5
  169. data/oa-oauth/spec/omniauth/strategies/yahoo_spec.rb +0 -5
  170. data/oa-oauth/spec/omniauth/strategies/yammer_spec.rb +0 -5
  171. data/oa-oauth/spec/omniauth/strategies/you_tube_spec.rb +0 -5
  172. data/oa-oauth/spec/spec_helper.rb +0 -27
  173. data/oa-oauth/spec/support/shared_examples.rb +0 -29
  174. data/oa-openid/Gemfile +0 -7
  175. data/oa-openid/LICENSE +0 -19
  176. data/oa-openid/README.rdoc +0 -51
  177. data/oa-openid/Rakefile +0 -6
  178. data/oa-openid/lib/oa-openid.rb +0 -1
  179. data/oa-openid/lib/omniauth/openid.rb +0 -60
  180. data/oa-openid/lib/omniauth/openid/gapps.rb +0 -32
  181. data/oa-openid/lib/omniauth/strategies/google_apps.rb +0 -23
  182. data/oa-openid/lib/omniauth/strategies/open_id.rb +0 -132
  183. data/oa-openid/lib/omniauth/strategies/steam.rb +0 -55
  184. data/oa-openid/lib/omniauth/version.rb +0 -19
  185. data/oa-openid/oa-openid.gemspec +0 -28
  186. data/oa-openid/spec/omniauth/strategies/open_id_spec.rb +0 -71
  187. data/oa-openid/spec/spec_helper.rb +0 -14
  188. data/omniauth.gemspec +0 -20
  189. data/tasks/all.rb +0 -134
@@ -1,55 +0,0 @@
1
- require 'omniauth/openid'
2
- module OmniAuth
3
- module Strategies
4
- class Steam < OmniAuth::Strategies::OpenID
5
- def initialize(app, store = nil, api_key = nil, options = {}, &block)
6
- options[:identifier] ||= "http://steamcommunity.com/openid"
7
- options[:name] ||= 'steam'
8
- @api_key = api_key
9
- super(app, store, options, &block)
10
- end
11
-
12
- def user_info(response=nil)
13
- player = user_hash['response']['players']['player'].first
14
- nickname = player["personaname"]
15
- name = player["realname"]
16
- url = player["profileurl"]
17
- country = player["loccountrycode"]
18
- state = player["locstatecode"]
19
- city = player["loccityid"]
20
-
21
- {
22
- 'nickname' => nickname,
23
- 'name' => name,
24
- 'url' => url,
25
- 'location' => "#{city}, #{state}, #{country}"
26
- }
27
- end
28
-
29
- def user_hash
30
- # Steam provides no information back on a openid response other than a 64bit user id
31
- # Need to use this information and make a API call to get user information from steam.
32
- if @api_key
33
- unless @user_hash
34
- uri = URI.parse("http://api.steampowered.com/")
35
- req = Net::HTTP::Get.new("#{uri.path}ISteamUser/GetPlayerSummaries/v0001/?key=#{@api_key}&steamids=#{@openid_response.display_identifier.split("/").last}")
36
- res = Net::HTTP.start(uri.host, uri.port) {|http|
37
- http.request(req)
38
- }
39
- end
40
- @user_hash ||= MultiJson.decode(res.body)
41
- else
42
- {}
43
- end
44
- end
45
-
46
- def auth_hash
47
- OmniAuth::Utils.deep_merge(super, {
48
- 'uid' => @openid_response.display_identifier.split("/").last,
49
- 'user_info' => user_info,
50
- 'extra' => {'user_hash' => user_hash}
51
- })
52
- end
53
- end
54
- end
55
- end
@@ -1,19 +0,0 @@
1
- module OmniAuth
2
- module Version
3
- unless defined?(::OmniAuth::Version::MAJOR)
4
- MAJOR = 0
5
- end
6
- unless defined?(::OmniAuth::Version::MINOR)
7
- MINOR = 2
8
- end
9
- unless defined?(::OmniAuth::Version::PATCH)
10
- PATCH = 6
11
- end
12
- unless defined?(::OmniAuth::Version::PRE)
13
- PRE = nil
14
- end
15
- unless defined?(::OmniAuth::Version::STRING)
16
- STRING = [MAJOR, MINOR, PATCH, PRE].compact.join('.')
17
- end
18
- end
19
- end
@@ -1,28 +0,0 @@
1
- # -*- encoding: utf-8 -*-
2
- require File.expand_path('../lib/omniauth/version', __FILE__)
3
-
4
- Gem::Specification.new do |gem|
5
- gem.add_runtime_dependency 'oa-core', OmniAuth::Version::STRING
6
- gem.add_runtime_dependency 'rack-openid', '~> 1.3.1'
7
- gem.add_runtime_dependency 'ruby-openid-apps-discovery', '~> 1.2.0'
8
- gem.add_development_dependency 'maruku', '~> 0.6'
9
- gem.add_development_dependency 'rack-test', '~> 0.5'
10
- gem.add_development_dependency 'rake', '~> 0.8'
11
- gem.add_development_dependency 'rspec', '~> 2.5'
12
- gem.add_development_dependency 'simplecov', '~> 0.4'
13
- gem.add_development_dependency 'webmock', '~> 1.6'
14
- gem.add_development_dependency 'yard', '~> 0.7'
15
- gem.add_development_dependency 'ZenTest', '~> 4.5'
16
- gem.name = 'oa-openid'
17
- gem.version = OmniAuth::Version::STRING
18
- gem.description = %q{OpenID strategies for OmniAuth.}
19
- gem.summary = gem.description
20
- gem.email = ['michael@intridea.com', 'sferik@gmail.com']
21
- gem.homepage = 'http://github.com/intridea/omniauth'
22
- gem.authors = ['Michael Bleigh', 'Erik Michaels-Ober']
23
- gem.executables = `git ls-files -- bin/*`.split("\n").map{|f| File.basename(f)}
24
- gem.files = `git ls-files`.split("\n")
25
- gem.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
26
- gem.require_paths = ['lib']
27
- gem.required_rubygems_version = Gem::Requirement.new('>= 1.3.6') if gem.respond_to? :required_rubygems_version=
28
- end
@@ -1,71 +0,0 @@
1
- require File.expand_path('../../../spec_helper', __FILE__)
2
-
3
- describe OmniAuth::Strategies::OpenID do
4
-
5
- end
6
-
7
- # require File.dirname(__FILE__) + '/../../spec_helper'
8
- #
9
- # describe OmniAuth::Strategies::OpenID, :type => :strategy do
10
- #
11
- # include OmniAuth::Test::StrategyTestCase
12
- #
13
- # def strategy
14
- # [OmniAuth::Strategies::OpenID]
15
- # end
16
- #
17
- # describe '/auth/open_id without an identifier URL' do
18
- # before do
19
- # get '/auth/open_id'
20
- # end
21
- #
22
- # it 'should respond with OK' do
23
- # last_response.should be_ok
24
- # end
25
- #
26
- # it 'should respond with HTML' do
27
- # last_response.content_type.should == 'text/html'
28
- # end
29
- #
30
- # it 'should render an identifier URL input' do
31
- # last_response.body.should =~ %r{<input[^>]*#{OmniAuth::Strategies::OpenID::IDENTIFIER_URL_PARAMETER}}
32
- # end
33
- # end
34
- #
35
- # describe '/auth/open_id with an identifier URL' do
36
- # before do
37
- # @identifier_url = 'http://me.example.org'
38
- # # TODO: change this mock to actually return some sort of OpenID response
39
- # stub_request(:get, @identifier_url)
40
- # get '/auth/open_id?openid_url=' + @identifier_url
41
- # end
42
- #
43
- # it 'should redirect to the OpenID identity URL' do
44
- # last_response.should be_redirect
45
- # last_response.headers['Location'].should =~ %r{^#{@identifier_url}.*}
46
- # end
47
- #
48
- # it 'should tell the OpenID server to return to the callback URL' do
49
- # return_to = CGI.escape(last_request.url + '/callback')
50
- # last_response.headers['Location'].should =~ %r{[\?&]openid.return_to=#{return_to}}
51
- # end
52
- #
53
- # end
54
- #
55
- # describe 'followed by /auth/open_id/callback' do
56
- # before do
57
- # @identifier_url = 'http://me.example.org'
58
- # # TODO: change this mock to actually return some sort of OpenID response
59
- # stub_request(:get, @identifier_url)
60
- # get '/auth/open_id/callback'
61
- # end
62
- #
63
- # sets_an_auth_hash
64
- # sets_provider_to 'open_id'
65
- # sets_uid_to 'http://me.example.org'
66
- #
67
- # it 'should call through to the master app' do
68
- # last_response.body.should == 'true'
69
- # end
70
- # end
71
- # end
@@ -1,14 +0,0 @@
1
- require 'simplecov'
2
- SimpleCov.start
3
- require 'rspec'
4
- require 'rack/test'
5
- require 'webmock/rspec'
6
- require 'omniauth/core'
7
- require 'omniauth/test'
8
- require 'omniauth/openid'
9
-
10
- RSpec.configure do |config|
11
- config.include WebMock::API
12
- config.include Rack::Test::Methods
13
- config.extend OmniAuth::Test::StrategyMacros, :type => :strategy
14
- end
data/omniauth.gemspec DELETED
@@ -1,20 +0,0 @@
1
- # -*- encoding: utf-8 -*-
2
- require File.expand_path('../lib/omniauth/version', __FILE__)
3
-
4
- Gem::Specification.new do |gem|
5
- %w(oa-basic oa-enterprise oa-core oa-more oa-oauth oa-openid).each do |subgem|
6
- gem.add_runtime_dependency subgem, OmniAuth::Version::STRING
7
- end
8
- gem.authors = ['Michael Bleigh', 'Erik Michaels-Ober']
9
- gem.description = %q{OmniAuth is an authentication framework that that separates the concept of authentiation from the concept of identity, providing simple hooks for any application to have one or multiple authentication providers for a user.}
10
- gem.email = ['michael@intridea.com', 'sferik@gmail.com']
11
- gem.executables = `git ls-files -- bin/*`.split("\n").map{|f| File.basename(f)}
12
- gem.files = `git ls-files`.split("\n")
13
- gem.homepage = 'http://github.com/intridea/omniauth'
14
- gem.name = 'omniauth'
15
- gem.require_paths = ['lib']
16
- gem.required_rubygems_version = Gem::Requirement.new('>= 1.3.6')
17
- gem.summary = %q{Rack middleware for standardized multi-provider authentication.}
18
- gem.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
19
- gem.version = OmniAuth::Version::STRING
20
- end
data/tasks/all.rb DELETED
@@ -1,134 +0,0 @@
1
- require 'fileutils'
2
-
3
- PROJECTS = %w(oa-core oa-basic oa-enterprise oa-more oa-oauth oa-openid omniauth)
4
-
5
- def root
6
- File.expand_path('../../', __FILE__)
7
- end
8
-
9
- require root + '/lib/omniauth/version'
10
-
11
- def version
12
- ::OmniAuth::Version.constants.each do |const|
13
- ::OmniAuth::Version.send(:remove_const, const)
14
- end
15
- load root + '/lib/omniauth/version.rb'
16
- OmniAuth::Version::STRING
17
- end
18
-
19
- PROJECTS.each do |project|
20
- namespace project.to_sym do
21
- dir = root + (project == 'omniauth' ? '' : "/#{project}")
22
- package_dir = "#{dir}/pkg"
23
- coverage_dir = "#{dir}/coverage"
24
- temp_dir = "#{dir}/tmp"
25
- gem = "#{project}-#{version}.gem"
26
- gemspec = "#{project}.gemspec"
27
-
28
- task :clean do
29
- rm_rf package_dir
30
- rm_rf coverage_dir
31
- rm_rf temp_dir
32
- end
33
-
34
- task :build => :clean do
35
- cd dir
36
- sh "gem build #{gemspec}"
37
- mkdir_p package_dir unless Dir.exists?(package_dir)
38
- mv gem, "#{package_dir}/#{gem}"
39
- end
40
-
41
- task :install => :build do
42
- sh "gem install #{package_dir}/#{gem}"
43
- end
44
-
45
- task :push => :build do
46
- sh "gem push #{package_dir}/#{gem}"
47
- end
48
-
49
- task :version do
50
- puts "#{project}: #{version}"
51
- end
52
-
53
- namespace :version do
54
-
55
- destination = "#{dir}/lib/omniauth/version.rb"
56
-
57
- task :write do
58
- write_version(destination, ENV['MAJOR'], ENV['MINOR'], ENV['PATCH'], ENV['PRE'])
59
- end
60
-
61
- namespace :bump do
62
-
63
- task :major do
64
- bump_version(destination, 0)
65
- end
66
-
67
- task :minor do
68
- bump_version(destination, 1)
69
- end
70
-
71
- task :patch do
72
- bump_version(destination, 2)
73
- end
74
-
75
- end
76
-
77
- end
78
-
79
- task :spec do
80
- cd dir
81
- sh "#{$0} spec"
82
- end
83
-
84
- end
85
- end
86
-
87
- namespace :all do
88
- task :clean => PROJECTS.map{|project| "#{project}:clean"}
89
- task :build => PROJECTS.map{|project| "#{project}:build"}
90
- task :install => PROJECTS.map{|project| "#{project}:install"}
91
- task :push => PROJECTS.map{|project| "#{project}:push"}
92
- task "version" => PROJECTS.map{|project| "#{project}:version"}
93
- task "version:write" => PROJECTS.map{|project| "#{project}:version:write"} + [:version]
94
- task "version:bump:major" => PROJECTS.map{|project| "#{project}:version:bump:major"} + [:version]
95
- task "version:bump:minor" => PROJECTS.map{|project| "#{project}:version:bump:minor"} + [:version]
96
- task "version:bump:patch" => PROJECTS.map{|project| "#{project}:version:bump:patch"} + [:version]
97
- task :spec do
98
- errors = []
99
- PROJECTS.map do |project|
100
- next if project == "omniauth"
101
- Rake::Task["#{project}:spec"].invoke || errors << project
102
- end
103
- fail("Errors in #{errors.join(', ')}") unless errors.empty?
104
- end
105
- end
106
-
107
- def write_version(destination, major=nil, minor=nil, patch=nil, pre=nil)
108
- source = "#{root}/lib/omniauth/version.rb"
109
- v = version.split('.')
110
- v[0] = major if major
111
- v[1] = minor if minor
112
- v[2] = patch if patch
113
- v[3] = pre if pre
114
- v[3] = v[3] ? v[3].to_s : "nil"
115
-
116
- ruby = File.read(source)
117
- ruby.gsub! /^(\s*)MAJOR = .*?$/, "\\1MAJOR = #{v[0]}"
118
- fail "Could not insert MAJOR in #{source}" unless $1
119
- ruby.gsub! /^(\s*)MINOR = .*?$/, "\\1MINOR = #{v[1]}"
120
- fail "Could not insert MINOR in #{source}" unless $1
121
- ruby.gsub! /^(\s*)PATCH = .*?$/, "\\1PATCH = #{v[2]}"
122
- fail "Could not insert PATCH in #{source}" unless $1
123
- ruby.gsub! /^(\s*)PRE = .*?$/, "\\1PRE = #{v[3]}"
124
- fail "Could not insert PRE in #{source}" unless $1
125
- File.open(destination, 'w') do |file|
126
- file.write ruby
127
- end
128
- end
129
-
130
- def bump_version(destination, position)
131
- v = version.split('.').map{|s| s.to_i}
132
- v[position] += 1
133
- write_version(destination, *v)
134
- end