uzuuzu-core 0.0.7 → 0.0.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.0.7
1
+ 0.0.8
@@ -13,77 +13,64 @@ module UzuUzu
13
13
  #
14
14
  #
15
15
  def application
16
- @_application
16
+ ::UzuUzu.current
17
17
  end
18
+
19
+ #
20
+ #
21
+ #
22
+ def controller
23
+ ::UzuUzu::Controller.current
24
+ end
25
+
18
26
  #
19
27
  #
20
28
  #
21
29
  def request
22
- @_request
30
+ ::UzuUzu::Request.current
23
31
  end
24
-
32
+
25
33
  #
26
34
  #
27
35
  #
28
36
  def response
29
- @_response
37
+ ::UzuUzu::Response.current
30
38
  end
31
39
 
32
40
  #
33
41
  #
34
42
  #
35
- def action
36
- @_action
43
+ def helper
44
+ ::UzuUzu::Helper.current
37
45
  end
38
46
 
39
47
  #
40
48
  #
41
49
  #
42
- def query
43
- @_query
50
+ def action
51
+ Thread.current[:action]
44
52
  end
45
53
 
46
54
  #
47
55
  #
48
56
  #
49
- def route
50
- @_route
57
+ def query
58
+ Thread.current[:query]
51
59
  end
52
60
 
53
61
  #
54
62
  #
55
63
  #
56
- def info
57
- @_info ||= UzuUzu::Info.uniq
64
+ def route
65
+ Thread.current[:route]
58
66
  end
59
-
67
+
60
68
  #
61
69
  #
62
70
  #
63
71
  def session
64
72
  request.session
65
73
  end
66
-
67
- #
68
- #
69
- #
70
- def logger
71
- UzuUzu.logger
72
- end
73
-
74
- #
75
- #
76
- #
77
- def memcache
78
- UzuUzu.memcache
79
- end
80
-
81
- #
82
- #
83
- #
84
- def remote_user
85
- nil
86
- end
87
74
 
88
75
  #
89
76
  #
@@ -99,15 +86,6 @@ module UzuUzu
99
86
  Rack::Utils.unescape(s)
100
87
  end
101
88
 
102
- #
103
- #
104
- #
105
- def admin?
106
- if remote_user
107
- remote_user.admin?
108
- end
109
- end
110
-
111
89
  #
112
90
  #
113
91
  #
@@ -130,6 +108,17 @@ module UzuUzu
130
108
  return "" if query_string.blank?
131
109
  "?#{query_string.join('&')}"
132
110
  end
111
+
112
+ #
113
+ #
114
+ #
115
+ def instance_variable_map(instance)
116
+ map = {}
117
+ instance.instance_variables.each do |variable_name|
118
+ map[variable_name] = instance.instance_variable_get(variable_name)
119
+ end
120
+ map
121
+ end
133
122
  end # Controller
134
123
  end # Helper
135
124
  end # UzuUzu
@@ -0,0 +1,9 @@
1
+ # coding: utf-8
2
+
3
+ module UzuUzu
4
+ module Helper
5
+ module Jquery
6
+
7
+ end
8
+ end
9
+ end
@@ -4,10 +4,6 @@ module UzuUzu
4
4
  module Helper
5
5
  module Localize
6
6
  def localize(key, options={})
7
- #TODO
8
- end
9
-
10
- def fix_localize(key, options={})
11
7
  (UzuUzu.localize[key.to_s] || "").force_encoding('UTF-8')
12
8
  end
13
9
  end
@@ -3,17 +3,22 @@
3
3
  module UzuUzu
4
4
  module Helper
5
5
  module Renderer
6
- extend TiltWrapper
7
6
 
8
7
  #
9
8
  #
10
9
  #
11
- def render_full(controller, action, options={})
12
- _request, _response, _controller, _action, _query, _route = ::UzuUzu.current.get_thread_by_di
10
+ def render_full(controller_clazz, action, options={})
11
+ _request = request
12
+ _response = response
13
+ _controller = controller
14
+ _helper = helper
15
+ _action = action
16
+ _query = query
17
+ _route = route
13
18
  browser = ::Rack::MockRequest.new(::UzuUzu.current)
14
- _render_response = browser.get self.rf(controller, action, options)
19
+ _render_response = browser.get(controller.rf(controller_clazz, action, options))
15
20
  _render = _render_response.body.to_s
16
- ::UzuUzu.current.di_thread(_request, _response, _controller, _action, _query, _route)
21
+ ::UzuUzu.current.di_thread(_request, _response, _controller, _helper, _action, _query, _route)
17
22
  _render
18
23
  end
19
24
 
@@ -44,8 +49,8 @@ module UzuUzu
44
49
  view_path = nil
45
50
  catch(:view_finded) do
46
51
  ::Tilt.mappings.each_key do |key|
47
- self.application.views.each do |view_route|
48
- _view_path = "#{view_route}#{self.route}/#{view}.#{key}"
52
+ application.views.each do |view_route|
53
+ _view_path = "#{view_route}#{controller.route}/#{view}.#{key}"
49
54
  if ::File.file?(_view_path)
50
55
  view_path = _view_path
51
56
  throw :view_finded
@@ -75,7 +80,9 @@ module UzuUzu
75
80
  #
76
81
  #
77
82
  def render_engine(view_string, engine=::UzuUzu.engine, options={}, locals={}, &block)
78
- UzuUzu.render_engine(self, view_string, engine, options, locals, &block)
83
+ locals ||= {}
84
+ locals = locals.merge(instance_variable_map(controller))
85
+ UzuUzu.render_engine(helper, view_string, engine, options, locals, &block)
79
86
  end
80
87
 
81
88
  def send_file()
@@ -108,14 +115,14 @@ module UzuUzu
108
115
  #
109
116
  #
110
117
  def server_error(code=500, options={})
111
- redirect self.rf(UzuUzu::Controller::Index, :error, code)
118
+ redirect controller.rf(UzuUzu::Controller::Index, :error, code)
112
119
  end # error
113
120
 
114
121
  #
115
122
  #
116
123
  #
117
124
  def not_found(code=404, options={})
118
- redirect self.rf(UzuUzu::Controller::Index, :error, code)
125
+ redirect controller.rf(UzuUzu::Controller::Index, :error, code)
119
126
  end
120
127
 
121
128
  #
@@ -4,9 +4,8 @@ module UzuUzu
4
4
  module Helper
5
5
  module Route
6
6
  def url_for_controller(controller, *args)
7
- app = UzuUzu.current
8
- route_string = request.env['SCRIPT_NAME']
9
- app.controllers.each do |root_controller|
7
+ route_string = request.env['SCRIPT_NAME'].clone
8
+ application.controllers.each do |root_controller|
10
9
  re = Regexp.compile("^#{root_controller.name}::")
11
10
  if re =~ controller.name
12
11
  path = controller.name.gsub(re, '').gsub(/Controller$/, '').to_const_path
@@ -28,7 +27,7 @@ module UzuUzu
28
27
  alias :rf :url_for_controller
29
28
 
30
29
  def url_for(*args)
31
- route_string = @_route.clone
30
+ route_string = route.clone
32
31
  if args[-1].kind_of?(Hash)
33
32
  query = query_string(args.pop)
34
33
  end
@@ -3,40 +3,40 @@
3
3
  module UzuUzu
4
4
  module Helper
5
5
  module XHtml
6
+
6
7
  #
7
8
  #
8
9
  #
9
- def css(name, media='screen')
10
- if name =~ /^http/
11
- "<link href=\"#{name}\" media=\"#{media}\" rel=\"stylesheet\" type=\"text/css\" />"
12
- else
13
- "<link href=\"/css/#{name}.css\" media=\"#{media}\" rel=\"stylesheet\" type=\"text/css\" />"
14
- end
10
+ def meta(name, content)
11
+ "<meta name=\"#{name}\" content=\"#{content}\">"
12
+ end
13
+ #
14
+ #
15
+ #
16
+ def css(css_path, media='screen')
17
+ "<link href=\"#{css_path}\" media=\"#{media}\" rel=\"stylesheet\" type=\"text/css\" />"
15
18
  end
16
-
17
19
  #
18
20
  #
19
21
  #
20
22
  def css_for(*args)
21
- args.map{|arg| css(arg) }.join("\n")
23
+ args.map do |css_path|
24
+ css(css_path)
25
+ end.join("\n")
22
26
  end
23
-
24
27
  #
25
28
  #
26
29
  #
27
- def js(name)
28
- if name =~ /^http/
29
- "<script src=\"#{name}\" type=\"text/javascript\"></script>"
30
- else
31
- "<script src=\"/js/#{name}.js\" type=\"text/javascript\"></script>"
32
- end
30
+ def js(js_path)
31
+ "<script src=\"#{js_path}\" type=\"text/javascript\"></script>"
33
32
  end
34
-
35
33
  #
36
34
  #
37
35
  #
38
36
  def js_for(*args)
39
- args.map{|arg| js(arg) }.join("\n")
37
+ args.map do |js_path|
38
+ js(js_path)
39
+ end.join("\n")
40
40
  end
41
41
 
42
42
  end
@@ -5,7 +5,6 @@ module UzuUzu
5
5
  #
6
6
  #
7
7
  class Application
8
-
9
8
  #
10
9
  attr_accessor :name
11
10
  #
@@ -19,6 +18,8 @@ module UzuUzu
19
18
  #
20
19
  attr_accessor :after_filters
21
20
  #
21
+ attr_accessor :dicons
22
+ #
22
23
  attr_accessor :helpers
23
24
  #
24
25
  attr_accessor :views
@@ -27,14 +28,14 @@ module UzuUzu
27
28
  #
28
29
  #
29
30
  def self.current
30
- Thread.current[:application]
31
+ ::Thread.current[:application]
31
32
  end
32
33
 
33
34
  #
34
35
  #
35
36
  #
36
37
  def initialize(options={})
37
- Thread.current[:application] = self
38
+ ::Thread.current[:application] = self
38
39
  options.each do |key, value|
39
40
  case(key)
40
41
  when :name, 'name'
@@ -45,36 +46,70 @@ module UzuUzu
45
46
  end if options.kind_of?(Hash)
46
47
  @name ||= :uzuuzu
47
48
  @environments = Environments.new(@config_file)
48
- UzuUzu.apps[@name] = self
49
+ ::UzuUzu.apps[@name] = self
49
50
  yield self if block_given?
50
51
  end # initialize
51
52
 
53
+ def self.controllers
54
+ @@controllers ||= [Controller]
55
+ end
56
+
52
57
  def controllers
53
- @controllers ||= [UzuUzu::Controller]
58
+ @controllers ||= self.class.controllers.clone
59
+ end
60
+
61
+ def self.before_filters
62
+ @@before_filters ||= [Controller.method(:before_all)]
54
63
  end
55
64
 
56
65
  def before_filters
57
- @before_filters ||= [UzuUzu::Controller.method(:before_all)]
66
+ @before_filters ||= self.class.before_filters.clone
58
67
  end
59
68
 
69
+ def self.after_filters
70
+ @@after_filters ||= [Controller.method(:after_all)]
71
+ end
72
+
60
73
  def after_filters
61
- @after_filters ||= [UzuUzu::Controller.method(:after_all)]
74
+ @after_filters ||= self.class.after_filters.clone
75
+ end
76
+
77
+ def self.dicons
78
+ @@dicons ||= [
79
+ Controller,
80
+ Helper::Controller,
81
+ Helper::Renderer,
82
+ Helper::Localize,
83
+ Helper::Route,
84
+ ]
62
85
  end
63
86
 
64
- def helpers
65
- @helpers ||= [
66
- Rack::Utils,
67
- UzuUzu::Helper::Controller,
68
- UzuUzu::Helper::Renderer,
69
- UzuUzu::Helper::Localize,
70
- UzuUzu::Helper::Route,
71
- UzuUzu::Helper::Form,
72
- UzuUzu::Helper::XHtml
87
+ def dicons
88
+ @dicons ||= self.class.dicons.clone
89
+ end
90
+
91
+ def self.helpers
92
+ @@helpers ||= [
93
+ Helper::Controller,
94
+ Helper::Form,
95
+ Helper::Jquery,
96
+ Helper::Localize,
97
+ Helper::Renderer,
98
+ Helper::Route,
99
+ Helper::XHtml
73
100
  ]
74
101
  end
102
+
103
+ def helpers
104
+ @helpers ||= self.class.helpers.clone
105
+ end
75
106
 
107
+ def self.views
108
+ @@views ||= ['./view']
109
+ end
110
+
76
111
  def views
77
- @views ||= ['./view']
112
+ @views ||= self.class.views.clone
78
113
  end
79
114
 
80
115
  #
@@ -97,13 +132,14 @@ module UzuUzu
97
132
  query = map[:query]
98
133
  route = map[:route]
99
134
  controller = controller_class.new
100
- di_helpers(controller)
135
+ include_dicon(controller)
136
+ helper = Helper::Helper.new
137
+ include_helper(helper)
101
138
 
102
139
  action, query = find_action(controller, query)
103
140
  next if action.blank?
104
141
  is_send = true
105
- di_thread(request, response, controller, action, query, route)
106
- di_instance(request, response, controller, action, query, route)
142
+ di_thread(request, response, controller, helper, action, query, route)
107
143
  action_return = send_action(request, response, controller, action, query)
108
144
  if response.body.blank?
109
145
  render = controller.render(action)
@@ -175,41 +211,32 @@ module UzuUzu
175
211
  end
176
212
  _c
177
213
  end
214
+
178
215
  #
179
216
  #
180
217
  #
181
- def di_helpers(controller)
182
- helpers.each do |helper|
183
- controller.class.send(:include, helper)
218
+ def include_dicon(controller)
219
+ dicons.each do |dicon|
220
+ controller.extend(dicon)
184
221
  end
185
- end # di_helpers
222
+ end # include_dicon
186
223
 
187
- #
188
- #
189
- #
190
- def di_instance(request, response, controller, action, query, route)
191
- controller.instance_variable_set(:@_application, self)
192
- controller.instance_variable_set(:@_request, request)
193
- controller.instance_variable_set(:@_response, response)
194
- controller.instance_variable_set(:@_action, action)
195
- controller.instance_variable_set(:@_query, query)
196
- controller.instance_variable_set(:@_route, route)
197
- end # di_instance
224
+ def include_helper(helper)
225
+ helpers.each do |h|
226
+ helper.extend(h)
227
+ end
228
+ end # include_helper
198
229
 
199
- def di_thread(request, response, controller, action, query, route)
200
- current = Thread.current
230
+ def di_thread(request, response, controller, helper, action, query, route)
231
+ current = ::Thread.current
201
232
  current[:request] = request
202
233
  current[:response] = response
203
234
  current[:controller] = controller
235
+ current[:helper] = helper
204
236
  current[:action] = action
205
237
  current[:query] = query
206
238
  current[:route] = route
207
- end
208
-
209
- def get_thread_by_di
210
- current = Thread.current
211
- [current[:request], current[:response], current[:controller], current[:action], current[:query], current[:route]]
212
- end
239
+ end # di_thread
213
240
 
214
241
  #
215
242
  #
@@ -268,15 +295,15 @@ module UzuUzu
268
295
  before_filters.each do |filter|
269
296
  filter.call if filter.respond_to?(:call)
270
297
  end
271
- controller.send(:before, []) if controller.respond_to?(:before)
272
- controller.send("before_#{action}", []) if controller.respond_to?("before_#{action}")
298
+ controller.send(:before) if controller.respond_to?(:before)
299
+ controller.send("before_#{action}") if controller.respond_to?("before_#{action}")
273
300
  value = controller.send(action, *query)
274
301
  end
275
302
  catch(:finish) do
276
- controller.send("after_#{action}", []) if controller.respond_to?("after_#{action}")
303
+ controller.send("after_#{action}") if controller.respond_to?("after_#{action}")
277
304
  end
278
305
  catch(:finish) do
279
- controller.send(:after, []) if controller.respond_to?(:after)
306
+ controller.send(:after) if controller.respond_to?(:after)
280
307
  end
281
308
  after_filters.reverse.each do |filter|
282
309
  catch(:finish) do
@@ -287,7 +314,7 @@ module UzuUzu
287
314
  end # send_action
288
315
 
289
316
  def error(code, request, response)
290
- UzuUzu.logger.debug "error : #{code}"
317
+ ::UzuUzu.logger.debug "error : #{code}"
291
318
  uri = "#{request.scheme}://#{request.host}"
292
319
  if (request.scheme == 'https' and request.port != 443) or
293
320
  (request.scheme == 'http' and request.port != 80)
@@ -7,15 +7,25 @@ module UzuUzu
7
7
  end
8
8
 
9
9
  def self.before_all
10
- UzuUzu.datastore
11
- before_logger
10
+ ::UzuUzu.datastore
11
+ ::UzuUzu.logger.debug ::UzuUzu::Request.current.params
12
12
  end
13
13
 
14
14
  def self.after_all
15
15
  end
16
16
 
17
- def self.before_logger
18
- UzuUzu.logger.debug UzuUzu::Request.current.params
17
+ #
18
+ #
19
+ #
20
+ def logger
21
+ UzuUzu.logger
22
+ end
23
+
24
+ #
25
+ #
26
+ #
27
+ def memcache
28
+ UzuUzu.memcache
19
29
  end
20
30
  end # Controller
21
31
  end # UzuUzu
@@ -59,7 +59,7 @@ module UzuUzu
59
59
  require 'uzuuzu/adapter/gae'
60
60
  end
61
61
  @lang = map['lang'] || 'ja'
62
- @engine = map['engine'] || 'erubis'
62
+ @engine = map['engine'] || 'erb'
63
63
  load_localize
64
64
  end
65
65
 
@@ -3,12 +3,21 @@
3
3
  module UzuUzu
4
4
  module Helper
5
5
  autoload(:Controller, 'uzuuzu/helper/controller')
6
- autoload(:Fixture, 'uzuuzu/helper/fixture')
7
6
  autoload(:Form, 'uzuuzu/helper/form')
8
7
  autoload(:Jquery, 'uzuuzu/helper/jquery')
9
8
  autoload(:Localize, 'uzuuzu/helper/localize')
10
9
  autoload(:Renderer, 'uzuuzu/helper/renderer')
11
10
  autoload(:Route, 'uzuuzu/helper/route')
12
11
  autoload(:XHtml, 'uzuuzu/helper/xhtml')
12
+
13
+ def self.current
14
+ Thread.current[:helper]
15
+ end
16
+
17
+ #
18
+ #
19
+ #
20
+ class Helper
21
+ end
13
22
  end
14
23
  end
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.0.7"
8
+ s.version = "0.0.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-08-23}
12
+ s.date = %q{2011-09-08}
13
13
  s.description = %q{uzuuzu core library}
14
14
  s.email = %q{takuya.v3v@gmail.com}
15
15
  s.extra_rdoc_files = [
@@ -28,7 +28,6 @@ Gem::Specification.new do |s|
28
28
  "VERSION",
29
29
  "lib/uzuuzu-core.rb",
30
30
  "lib/uzuuzu/helper/controller.rb",
31
- "lib/uzuuzu/helper/fixture.rb",
32
31
  "lib/uzuuzu/helper/form.rb",
33
32
  "lib/uzuuzu/helper/jquery.rb",
34
33
  "lib/uzuuzu/helper/localize.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.0.7
5
+ version: 0.0.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-08-23 00:00:00 +09:00
13
+ date: 2011-09-08 00:00:00 +09:00
14
14
  default_executable:
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
@@ -133,7 +133,6 @@ files:
133
133
  - VERSION
134
134
  - lib/uzuuzu-core.rb
135
135
  - lib/uzuuzu/helper/controller.rb
136
- - lib/uzuuzu/helper/fixture.rb
137
136
  - lib/uzuuzu/helper/form.rb
138
137
  - lib/uzuuzu/helper/jquery.rb
139
138
  - lib/uzuuzu/helper/localize.rb
@@ -173,7 +172,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
173
172
  requirements:
174
173
  - - ">="
175
174
  - !ruby/object:Gem::Version
176
- hash: -2144235226275281033
175
+ hash: -3233450064445015537
177
176
  segments:
178
177
  - 0
179
178
  version: "0"
@@ -1,10 +0,0 @@
1
- # coding: utf-8
2
-
3
- module UzuUzu
4
- module Helper
5
- module Fixture
6
- def import_file(file, overwrite=false)
7
- end
8
- end #Fixture
9
- end # Helper
10
- end # UzuUzu