uzuuzu-core 0.0.7 → 0.0.8

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/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