uzuuzu-core 0.1.0 → 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/Gemfile CHANGED
@@ -17,3 +17,4 @@ gem 'extlib'
17
17
  gem 'ruby-openid'
18
18
  gem 'oauth'
19
19
  gem 'tilt'
20
+ gem 'erubis'
data/Gemfile.lock CHANGED
@@ -2,6 +2,7 @@ GEM
2
2
  remote: http://rubygems.org/
3
3
  specs:
4
4
  diff-lcs (1.1.3)
5
+ erubis (2.7.0)
5
6
  extlib (0.9.15)
6
7
  git (1.2.5)
7
8
  jeweler (1.6.4)
@@ -28,6 +29,7 @@ PLATFORMS
28
29
 
29
30
  DEPENDENCIES
30
31
  bundler
32
+ erubis
31
33
  extlib
32
34
  jeweler
33
35
  oauth
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.0
1
+ 0.1.1
@@ -139,6 +139,7 @@ module UzuUzu
139
139
  query = map[:query]
140
140
  route = map[:route]
141
141
  controller = controller_class.new
142
+ controller.extend(::UzuUzu::Controller)
142
143
  helper = Helper::Helper.new
143
144
  helpers.each do |h|
144
145
  helper.extend(h)
@@ -167,31 +168,29 @@ module UzuUzu
167
168
  end # call
168
169
 
169
170
  def require_noerror(path)
170
- begin
171
- require path
172
- rescue LoadError => e
173
- end
171
+ require path
172
+ rescue LoadError => e
174
173
  end
175
174
  #
176
175
  #
177
176
  #
178
177
  def auto_require(env)
179
- require_base = "#{@name.to_s}/"
180
- require_base = '' if @name == :uzuuzu
178
+ require_base = "/#{@name.to_s}"
179
+ require_base = '' if @name == :uzuuzu || @name == '' || @name.blank?
181
180
  array = []
182
181
  if env['PATH_INFO'] == '/'
183
- require_noerror "#{controller_root}/#{require_base}index"
184
- require_noerror "#{helper_root}/#{require_base}index"
182
+ require_noerror "#{controller_root}#{require_base}/index"
183
+ require_noerror "#{helper_root}#{require_base}/index"
185
184
  end
186
185
  env['PATH_INFO'].split('/').each do |path|
187
186
  array << path
188
187
  begin
189
188
  if array.size > 1
190
- require_noerror "#{controller_root}/#{require_base}#{array.join('/')}/index"
191
- require_noerror "#{helper_root}/#{require_base}#{array.join('/')}/index"
189
+ require_noerror "#{controller_root}#{require_base}#{array.join('/')}/index"
190
+ require_noerror "#{helper_root}#{require_base}#{array.join('/')}/index"
192
191
  end
193
- require_noerror "#{controller_root}/#{require_base}#{array.join('/')}"
194
- require_noerror "#{helper_root}/#{require_base}#{array.join('/')}"
192
+ require_noerror "#{controller_root}#{require_base}#{array.join('/')}"
193
+ require_noerror "#{helper_root}#{require_base}#{array.join('/')}"
195
194
  rescue
196
195
  end
197
196
  end
@@ -207,13 +206,21 @@ module UzuUzu
207
206
  :route => route,
208
207
  :query => query
209
208
  }
209
+ rescue NameError => e
210
210
  end
211
211
 
212
212
  #
213
213
  #
214
214
  #
215
215
  def find_helper(name, route)
216
-
216
+ routes = route.split('/').map{|a| a.camel_case}
217
+ helper_str = "#{helper_root.camel_case}#{routes.join('::')}"
218
+ if routes.blank? || name != routes[-1]
219
+ helper_str += "::#{name.camel_case}"
220
+ end
221
+ helper = eval(helper_str)
222
+ helper
223
+ rescue NameError => e
217
224
  end # find_helper
218
225
 
219
226
  #
@@ -263,7 +270,7 @@ module UzuUzu
263
270
  classies << map
264
271
  end
265
272
  _c = map[:controller] if map
266
- if _c.kind_of?(::Class) || _c.kind_of?(::Module)
273
+ unless _c.kind_of?(::Class) || _c.kind_of?(::Module)
267
274
  break
268
275
  end
269
276
  end
@@ -299,10 +306,6 @@ module UzuUzu
299
306
  action = 'index'
300
307
  end
301
308
 
302
- #p controller
303
- #p controller.methods.sort
304
- #p action
305
- #p query[0]
306
309
  unless action.nil?
307
310
  arity = controller.method(action).arity
308
311
  owner = controller.method(action).owner
@@ -3,7 +3,10 @@
3
3
  module UzuUzu
4
4
  module Controller
5
5
  class Index
6
- include ::UzuUzu::Controller
6
+
7
+ def index
8
+
9
+ end
7
10
 
8
11
  def error(code)
9
12
  response.respond(helper.render_file(__DIR__("view/error/#{code}.rhtml")))
@@ -4,8 +4,10 @@ require 'oauth'
4
4
  module UzuUzu
5
5
  module Controller
6
6
  module Login
7
+ #
8
+ #
9
+ #
7
10
  class Twitter
8
- include ::UzuUzu::Controller
9
11
 
10
12
  def index
11
13
  @config = Environments.current.config['twitter']
@@ -13,8 +15,8 @@ module UzuUzu
13
15
  if session[:login_user_id]
14
16
  redirect request.referrer || '/'
15
17
  end
16
- if session[:twitter_request_token].blank? || session[:twitter_request_token_secret].blank?
17
- request_token(name)
18
+ if session[:twitter_request_token].blank?
19
+ request_token
18
20
  end
19
21
  access_token
20
22
  response.redirect session[:referer] || '/'
@@ -23,27 +25,35 @@ module UzuUzu
23
25
  private
24
26
  def request_token
25
27
  session[:referer] = request.referrer || '/'
26
- twitter_consumer = OAuth::Consumer.new(@config['consumer_key'], @config['consumer_secret'], :site => "http://twitter.com")
27
- unless twitter_consumer
28
- response.server_error
29
- end
30
-
31
- request_token = twitter_consumer.get_request_token
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()
32
38
  session[:twitter_request_token] = request_token.token
33
- session[:twitter_request_token_secret] = request_token.secret
34
39
 
35
- response.redirect request_token.authorize_url
36
- end
40
+ response.redirect request_token.authorize_url(:oauth_callback => "#{helper.root_uri}#{helper.r}")
41
+ rescue
42
+ response.server_error
43
+ end # request_token
37
44
 
38
45
  def access_token
39
- twitter_consumer = OAuth::Consumer.new(@config['consumer_key'], @config['consumer_secret'], :site => "http://twitter.com")
40
- unless twitter_consumer
41
- response.server_error
42
- end
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
+ )
43
54
  request_token = OAuth::RequestToken.new(
44
- twitter,
45
- session[:twitter_request_token],
46
- session[:twitter_request_token_secret]
55
+ twitter_consumer,
56
+ session[:twitter_request_token]
47
57
  )
48
58
  access_token = request_token.get_access_token(
49
59
  {},
@@ -53,14 +63,16 @@ module UzuUzu
53
63
  session[:twitter_access_token] = access_token.token
54
64
  session[:twitter_access_token_secret] = access_token.secret
55
65
  session.delete(:twitter_request_token)
56
- session.delete(:twitter_request_token_secret)
57
66
 
58
67
  session[:twitter_user_id] = access_token.params[:user_id]
59
68
  session[:login_user_id] = access_token.params[:screen_name]
60
69
  session[:login_name] = access_token.params[:screen_name]
61
70
  session[:login_domain] = 'twitter'
62
- end
63
- end # Oauth
71
+ rescue => e
72
+ response.server_error
73
+ end # access_token
74
+
75
+ end # Twitter
64
76
  end # Login
65
77
  end # Controller
66
- end # UzuUzuCms
78
+ end # UzuUzu
@@ -76,7 +76,7 @@ module UzuUzu
76
76
 
77
77
  def config
78
78
  return {} if @config.nil?
79
- @config['config'] || {}
79
+ @config || {}
80
80
  end
81
81
 
82
82
  def logger
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.0"
8
+ s.version = "0.1.1"
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-18}
12
+ s.date = %q{2011-12-23}
13
13
  s.description = %q{uzuuzu core library}
14
14
  s.email = %q{takuya.v3v@gmail.com}
15
15
  s.extra_rdoc_files = [
@@ -29,7 +29,6 @@ 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/openid.rb",
33
32
  "lib/uzuuzu-core/controller/login/twitter.rb",
34
33
  "lib/uzuuzu-core/controller/view/error/404.rhtml",
35
34
  "lib/uzuuzu-core/controller/view/error/500.rhtml",
@@ -83,6 +82,7 @@ Gem::Specification.new do |s|
83
82
  s.add_runtime_dependency(%q<ruby-openid>, [">= 0"])
84
83
  s.add_runtime_dependency(%q<oauth>, [">= 0"])
85
84
  s.add_runtime_dependency(%q<tilt>, [">= 0"])
85
+ s.add_runtime_dependency(%q<erubis>, [">= 0"])
86
86
  s.add_development_dependency(%q<rspec>, [">= 0"])
87
87
  s.add_development_dependency(%q<bundler>, [">= 0"])
88
88
  s.add_development_dependency(%q<jeweler>, [">= 0"])
@@ -93,6 +93,7 @@ Gem::Specification.new do |s|
93
93
  s.add_dependency(%q<ruby-openid>, [">= 0"])
94
94
  s.add_dependency(%q<oauth>, [">= 0"])
95
95
  s.add_dependency(%q<tilt>, [">= 0"])
96
+ s.add_dependency(%q<erubis>, [">= 0"])
96
97
  s.add_dependency(%q<rspec>, [">= 0"])
97
98
  s.add_dependency(%q<bundler>, [">= 0"])
98
99
  s.add_dependency(%q<jeweler>, [">= 0"])
@@ -104,6 +105,7 @@ Gem::Specification.new do |s|
104
105
  s.add_dependency(%q<ruby-openid>, [">= 0"])
105
106
  s.add_dependency(%q<oauth>, [">= 0"])
106
107
  s.add_dependency(%q<tilt>, [">= 0"])
108
+ s.add_dependency(%q<erubis>, [">= 0"])
107
109
  s.add_dependency(%q<rspec>, [">= 0"])
108
110
  s.add_dependency(%q<bundler>, [">= 0"])
109
111
  s.add_dependency(%q<jeweler>, [">= 0"])
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.0
5
+ version: 0.1.1
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-18 00:00:00 +09:00
13
+ date: 2011-12-23 00:00:00 +09:00
14
14
  default_executable:
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
@@ -69,18 +69,18 @@ dependencies:
69
69
  prerelease: false
70
70
  version_requirements: *id005
71
71
  - !ruby/object:Gem::Dependency
72
- name: rspec
72
+ name: erubis
73
73
  requirement: &id006 !ruby/object:Gem::Requirement
74
74
  none: false
75
75
  requirements:
76
76
  - - ">="
77
77
  - !ruby/object:Gem::Version
78
78
  version: "0"
79
- type: :development
79
+ type: :runtime
80
80
  prerelease: false
81
81
  version_requirements: *id006
82
82
  - !ruby/object:Gem::Dependency
83
- name: bundler
83
+ name: rspec
84
84
  requirement: &id007 !ruby/object:Gem::Requirement
85
85
  none: false
86
86
  requirements:
@@ -91,7 +91,7 @@ dependencies:
91
91
  prerelease: false
92
92
  version_requirements: *id007
93
93
  - !ruby/object:Gem::Dependency
94
- name: jeweler
94
+ name: bundler
95
95
  requirement: &id008 !ruby/object:Gem::Requirement
96
96
  none: false
97
97
  requirements:
@@ -102,7 +102,7 @@ dependencies:
102
102
  prerelease: false
103
103
  version_requirements: *id008
104
104
  - !ruby/object:Gem::Dependency
105
- name: rcov
105
+ name: jeweler
106
106
  requirement: &id009 !ruby/object:Gem::Requirement
107
107
  none: false
108
108
  requirements:
@@ -112,6 +112,17 @@ dependencies:
112
112
  type: :development
113
113
  prerelease: false
114
114
  version_requirements: *id009
115
+ - !ruby/object:Gem::Dependency
116
+ name: rcov
117
+ requirement: &id010 !ruby/object:Gem::Requirement
118
+ none: false
119
+ requirements:
120
+ - - ">="
121
+ - !ruby/object:Gem::Version
122
+ version: "0"
123
+ type: :development
124
+ prerelease: false
125
+ version_requirements: *id010
115
126
  description: uzuuzu core library
116
127
  email: takuya.v3v@gmail.com
117
128
  executables: []
@@ -134,7 +145,6 @@ files:
134
145
  - lib/uzuuzu-core/application.rb
135
146
  - lib/uzuuzu-core/controller.rb
136
147
  - lib/uzuuzu-core/controller/index.rb
137
- - lib/uzuuzu-core/controller/login/openid.rb
138
148
  - lib/uzuuzu-core/controller/login/twitter.rb
139
149
  - lib/uzuuzu-core/controller/view/error/404.rhtml
140
150
  - lib/uzuuzu-core/controller/view/error/500.rhtml
@@ -186,7 +196,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
186
196
  requirements:
187
197
  - - ">="
188
198
  - !ruby/object:Gem::Version
189
- hash: 2970858063230439040
199
+ hash: 2659215679876593747
190
200
  segments:
191
201
  - 0
192
202
  version: "0"
@@ -1,87 +0,0 @@
1
- # coding: utf-8
2
-
3
- require 'openid'
4
- require 'openid/store/filesystem'
5
- require 'openid/extensions/pape'
6
- require 'openid/extensions/sreg'
7
- require 'openid/store/memcache'
8
-
9
- module UzuUzu
10
- module Controller
11
- #
12
- #
13
- #
14
- class Openid
15
- include ::UzuUzu::Controller
16
-
17
- # need params['domain']
18
- def index
19
- if session[:openid_domain].blank? or session[:openid_entry].blank?
20
- openid_begin
21
- elsif session[:openid_domain] and session[:openid_entry]
22
- openid_complete
23
- else
24
- response.redirect request.referrer || "/"
25
- end
26
- end
27
-
28
- def openid_begin
29
- domain = request.params['domain']
30
- response.redirect request.referrer || "/" if domain.to_s.empty?
31
- session[:openid_domain] = domain
32
- session[:openid_entry] = request.referrer || "/"
33
-
34
- openid_request = openid_consumer.begin(domain)
35
-
36
- papereq = ::OpenID::PAPE::Request.new
37
- papereq.add_policy_uri(::OpenID::PAPE::AUTH_PHISHING_RESISTANT)
38
- papereq.max_auth_age = 2*60*60
39
- openid_request.add_extension(papereq)
40
-
41
- sregreq = ::OpenID::SReg::Request.new
42
- sregreq.request_fields(['fullname', 'nickname', 'dob', 'email',
43
- 'gender', 'postcode', 'country', 'language',
44
- 'timezone'])
45
- openid_request.add_extension(sregreq)
46
- openid_request.return_to_args['did_pape'] = 'y'
47
-
48
- root = helper.root_uri
49
- return_to = "#{helper.root_uri}#{helper.r(:openid_complete)}"
50
- immediate = false
51
-
52
- if openid_request.send_redirect?(root, return_to, immediate)
53
- redirect_url = openid_request.redirect_url(root, return_to, immediate)
54
- response.redirect redirect_url
55
- else
56
- # what the hell is @form_text ?
57
- end
58
- rescue ::OpenID::OpenIDError => ex
59
- response.server_error
60
- end
61
-
62
- def openid_complete
63
- openid_response = openid_consumer.complete(request.params, request.url)
64
-
65
- case openid_response.status
66
- when ::OpenID::Consumer::FAILURE
67
- when ::OpenID::Consumer::SUCCESS
68
- # Backwards compatibility
69
- session[:openid_identity] = openid_response.identity_url
70
- session[:openid_sreg] = ::OpenID::SReg::Response.from_success_response(openid_response)
71
- end
72
- openid_entry = session[:openid_entry]
73
- session.delete(:openid_entry)
74
- response.redirect openid_entry
75
- end
76
-
77
-
78
- private
79
-
80
- # use memcache
81
- def openid_consumer
82
- _memcache = ::OpenID::Store::Memcache.new(memcache)
83
- ::OpenID::Consumer.new(session, _memcache)
84
- end
85
- end # Openid
86
- end # Controller
87
- end # UzuUzu