uzuuzu-core 0.1.7 → 0.1.8

Sign up to get free protection for your applications and to get access to all the features.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.7
1
+ 0.1.8
@@ -253,6 +253,7 @@ module UzuUzu
253
253
  end
254
254
  end
255
255
  request_paths.each_with_index do |request_path, index|
256
+ break if _c.nil?
256
257
  next if request_path.blank?
257
258
  c_str = request_path.camel_case
258
259
  route = "#{request_paths[0...index].join('/')}"
@@ -273,8 +274,13 @@ module UzuUzu
273
274
  if map && map[:controller].kind_of?(::Class)
274
275
  classies << map
275
276
  end
276
- _c = map[:controller] if map
277
+ if map
278
+ _c = map[:controller]
279
+ else
280
+ _c = nil
281
+ end
277
282
  unless _c.kind_of?(::Class) || _c.kind_of?(::Module)
283
+ _c = nil
278
284
  break
279
285
  end
280
286
  end
@@ -0,0 +1,90 @@
1
+ # coding: utf-8
2
+ require 'oauth'
3
+
4
+ module UzuUzu
5
+ module Controller
6
+ module Login
7
+ #
8
+ #
9
+ #
10
+ class Oauth
11
+
12
+ #
13
+ #
14
+ #
15
+ def index(name)
16
+ get_config(name)
17
+ if session[:login_user_id]
18
+ response.redirect request.referrer || '/'
19
+ end
20
+ session[:referer] = request.referrer || '/'
21
+ twitter_consumer = ::OAuth::Consumer.new(
22
+ @config['consumer_key'],
23
+ @config['consumer_secret'],
24
+ @config
25
+ )
26
+ request_token = twitter_consumer.get_request_token(:oauth_callback => "#{helper.root_uri}#{helper.r(:callback)}/#{name}")
27
+ session[:twitter_request_token] = request_token.token
28
+ session[:twitter_request_token_secret] = request_token.secret
29
+
30
+ response.redirect request_token.authorize_url
31
+ rescue => e
32
+ logger.debug "oauth_request_error #{e}"
33
+ response.server_error
34
+ end # index
35
+
36
+ #
37
+ #
38
+ #
39
+ def callback(name)
40
+ get_config(name)
41
+ if session[:login_user_id]
42
+ response.redirect request.referrer || '/'
43
+ end
44
+ twitter_consumer = ::OAuth::Consumer.new(
45
+ @config['consumer_key'],
46
+ @config['consumer_secret'],
47
+ @config
48
+ )
49
+ request_token = ::OAuth::RequestToken.new(
50
+ twitter_consumer,
51
+ session[:twitter_request_token],
52
+ session[:twitter_request_token_secret]
53
+ )
54
+ access_token = request_token.get_access_token(
55
+ {},
56
+ :oauth_token => request.params[:oauth_token],
57
+ :oauth_verifier => request.params[:oauth_verifier]
58
+ )
59
+ session[:twitter_access_token] = access_token.token
60
+ session[:twitter_access_token_secret] = access_token.secret
61
+ session.delete(:twitter_request_token)
62
+ session.delete(:twitter_request_token_secret)
63
+
64
+ session[:twitter_user_id] = access_token.params[:user_id]
65
+ session[:login_user_id] = access_token.params[:screen_name]
66
+ session[:login_name] = access_token.params[:screen_name]
67
+ session[:login_domain] = name
68
+ referrer = session[:referer] || '/'
69
+ session.delete(:referer)
70
+ response.redirect referrer || '/'
71
+ rescue => e
72
+ logger.debug "oauth_callback_error #{e}"
73
+ response.server_error
74
+ end # callback
75
+
76
+ private
77
+ #
78
+ #
79
+ #
80
+ def get_config(name)
81
+ @oauth_config = Environments.current.config['oauth']
82
+ response.server_error if @oauth_config.blank?
83
+ @config = @oauth_config[name]
84
+ response.server_error if @config.blank?
85
+ end # get_config
86
+
87
+ end # Oauth
88
+ end # Login
89
+ end # Controller
90
+ end # UzuUzu
@@ -5,7 +5,7 @@ module UzuUzu
5
5
  include ::UzuUzu::Helper::Controller
6
6
  require 'uzuuzu-core/controller/index'
7
7
  module Login
8
- require 'uzuuzu-core/controller/login/twitter'
8
+ require 'uzuuzu-core/controller/login/oauth'
9
9
  end
10
10
 
11
11
  def self.current
data/uzuuzu-core.gemspec CHANGED
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{uzuuzu-core}
8
- s.version = "0.1.7"
8
+ s.version = "0.1.8"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Takuya Kondo"]
12
- s.date = %q{2011-12-25}
12
+ s.date = %q{2012-01-01}
13
13
  s.description = %q{uzuuzu core library}
14
14
  s.email = %q{takuya_v_v@uzuuzu.jp}
15
15
  s.extra_rdoc_files = [
@@ -29,7 +29,7 @@ Gem::Specification.new do |s|
29
29
  "lib/uzuuzu-core/application.rb",
30
30
  "lib/uzuuzu-core/controller.rb",
31
31
  "lib/uzuuzu-core/controller/index.rb",
32
- "lib/uzuuzu-core/controller/login/twitter.rb",
32
+ "lib/uzuuzu-core/controller/login/oauth.rb",
33
33
  "lib/uzuuzu-core/controller/view/error/404.rhtml",
34
34
  "lib/uzuuzu-core/controller/view/error/500.rhtml",
35
35
  "lib/uzuuzu-core/environments.rb",
metadata CHANGED
@@ -2,7 +2,7 @@
2
2
  name: uzuuzu-core
3
3
  version: !ruby/object:Gem::Version
4
4
  prerelease:
5
- version: 0.1.7
5
+ version: 0.1.8
6
6
  platform: ruby
7
7
  authors:
8
8
  - Takuya Kondo
@@ -10,7 +10,7 @@ autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
12
 
13
- date: 2011-12-25 00:00:00 +09:00
13
+ date: 2012-01-01 00:00:00 +09:00
14
14
  default_executable:
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
@@ -145,7 +145,7 @@ files:
145
145
  - lib/uzuuzu-core/application.rb
146
146
  - lib/uzuuzu-core/controller.rb
147
147
  - lib/uzuuzu-core/controller/index.rb
148
- - lib/uzuuzu-core/controller/login/twitter.rb
148
+ - lib/uzuuzu-core/controller/login/oauth.rb
149
149
  - lib/uzuuzu-core/controller/view/error/404.rhtml
150
150
  - lib/uzuuzu-core/controller/view/error/500.rhtml
151
151
  - lib/uzuuzu-core/environments.rb
@@ -196,7 +196,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
196
196
  requirements:
197
197
  - - ">="
198
198
  - !ruby/object:Gem::Version
199
- hash: 4358867638685412053
199
+ hash: -4458084607244374049
200
200
  segments:
201
201
  - 0
202
202
  version: "0"
@@ -1,78 +0,0 @@
1
- # coding: utf-8
2
- require 'oauth'
3
-
4
- module UzuUzu
5
- module Controller
6
- module Login
7
- #
8
- #
9
- #
10
- class Twitter
11
-
12
- def index
13
- @config = Environments.current.config['twitter']
14
- response.server_error if @config.blank?
15
- if session[:login_user_id]
16
- response.redirect request.referrer || '/'
17
- end
18
- if session[:twitter_request_token].blank?
19
- request_token
20
- end
21
- access_token
22
- response.redirect session[:referer] || '/'
23
- end # index
24
-
25
- private
26
- def request_token
27
- session[:referer] = request.referrer || '/'
28
- twitter_consumer = OAuth::Consumer.new(
29
- @config['consumer_key'],
30
- @config['consumer_secret'],
31
- :site => "http://twitter.com",
32
- :request_token_url => 'https://api.twitter.com/oauth/request_token',
33
- :autorize_url => 'https://api.twitter.com/oauth/authorize',
34
- :access_token_url => 'https://api.twitter.com/oauth/access_token',
35
- :oauth_callback => "#{helper.root_uri}#{helper.r}"
36
- )
37
- request_token = twitter_consumer.get_request_token()
38
- session[:twitter_request_token] = request_token.token
39
-
40
- response.redirect request_token.authorize_url(:oauth_callback => "#{helper.root_uri}#{helper.r}")
41
- rescue
42
- response.server_error
43
- end # request_token
44
-
45
- def access_token
46
- twitter_consumer = OAuth::Consumer.new(
47
- @config['consumer_key'],
48
- @config['consumer_secret'],
49
- :site => "http://twitter.com",
50
- :request_token_url => 'https://api.twitter.com/oauth/request_token',
51
- :autorize_url => 'https://api.twitter.com/oauth/authorize',
52
- :access_token_url => 'https://api.twitter.com/oauth/access_token',
53
- )
54
- request_token = OAuth::RequestToken.new(
55
- twitter_consumer,
56
- session[:twitter_request_token]
57
- )
58
- access_token = request_token.get_access_token(
59
- {},
60
- :oauth_token => request.params[:oauth_token],
61
- :oauth_verifier => request.params[:oauth_verifier]
62
- )
63
- session[:twitter_access_token] = access_token.token
64
- session[:twitter_access_token_secret] = access_token.secret
65
- session.delete(:twitter_request_token)
66
-
67
- session[:twitter_user_id] = access_token.params[:user_id]
68
- session[:login_user_id] = access_token.params[:screen_name]
69
- session[:login_name] = access_token.params[:screen_name]
70
- session[:login_domain] = 'twitter'
71
- rescue => e
72
- response.server_error
73
- end # access_token
74
-
75
- end # Twitter
76
- end # Login
77
- end # Controller
78
- end # UzuUzu