uzuuzu-core 0.1.10 → 0.1.11
Sign up to get free protection for your applications and to get access to all the features.
- data/VERSION +1 -1
- data/lib/dm-simpledb-adapter.rb +1 -0
- data/lib/uzuuzu-core/application.rb +17 -23
- data/lib/uzuuzu-core/controller/index.rb +1 -1
- data/lib/uzuuzu-core/controller/view/{error → index/error}/404.rhtml +0 -0
- data/lib/uzuuzu-core/controller/view/{error → index/error}/500.rhtml +0 -0
- data/lib/uzuuzu-core/environments.rb +28 -7
- data/lib/uzuuzu-core/helper/controller.rb +9 -2
- data/lib/uzuuzu-core/helper/renderer.rb +2 -2
- data/lib/uzuuzu-core/uzuuzu-core.rb +10 -0
- data/lib/uzuuzu-core/wrapper/dm.rb +137 -0
- data/lib/uzuuzu-core/wrapper/s3.rb +52 -0
- data/lib/uzuuzu_core.rb +2 -0
- data/uzuuzu-core.gemspec +7 -4
- metadata +8 -5
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.1.
|
1
|
+
0.1.11
|
@@ -0,0 +1 @@
|
|
1
|
+
require 'dm-adapter-simpledb'
|
@@ -153,6 +153,8 @@ module UzuUzu
|
|
153
153
|
action_return = send_action(request, response, controller, action, query)
|
154
154
|
if response.body.blank?
|
155
155
|
render = helper.render(action)
|
156
|
+
p action
|
157
|
+
p render
|
156
158
|
end
|
157
159
|
break
|
158
160
|
end
|
@@ -215,6 +217,7 @@ module UzuUzu
|
|
215
217
|
if routes.blank? || name != routes[-1]
|
216
218
|
routes << "#{name.camel_case}"
|
217
219
|
end
|
220
|
+
routes.shift if routes[0].blank?
|
218
221
|
_base = "::#{@name.to_s.camel_case}"
|
219
222
|
_base = '' if @name == :uzuuzu || @name == 'uzuuzu'
|
220
223
|
helper = eval("#{_base}::#{helper_root.camel_case}")
|
@@ -234,6 +237,7 @@ module UzuUzu
|
|
234
237
|
classies = []
|
235
238
|
request_paths = env['PATH_INFO'].split('/')
|
236
239
|
request_paths.shift if request_paths[0].blank?
|
240
|
+
request_paths << ''
|
237
241
|
|
238
242
|
_controllers = controllers.clone
|
239
243
|
_base = "::#{@name.to_s.camel_case}"
|
@@ -246,42 +250,32 @@ module UzuUzu
|
|
246
250
|
_controllers.each do |c|
|
247
251
|
_c = c
|
248
252
|
_h = nil
|
249
|
-
if request_paths.size == 0
|
250
|
-
map = get_class_map('Index', _c, env['SCRIPT_NAME'], request_paths)
|
251
|
-
if map && map[:controller].kind_of?(::Class)
|
252
|
-
classies << map
|
253
|
-
end
|
254
|
-
end
|
255
253
|
request_paths.each_with_index do |request_path, index|
|
256
254
|
break if _c.nil?
|
257
|
-
next if request_path.blank?
|
258
255
|
c_str = request_path.camel_case
|
259
256
|
route = "#{request_paths[0...index].join('/')}"
|
260
257
|
if route.blank?
|
261
|
-
route = "#{env['SCRIPT_NAME']}"
|
258
|
+
route = "#{env['SCRIPT_NAME']}/index"
|
259
|
+
route.blank?
|
262
260
|
else
|
263
|
-
route = "#{env['SCRIPT_NAME']}/#{route}"
|
261
|
+
route = "#{env['SCRIPT_NAME']}/#{route}/index"
|
264
262
|
end
|
265
|
-
query = request_paths[index
|
263
|
+
query = request_paths[index...-1]
|
266
264
|
map = get_class_map('Index', _c, route, query)
|
267
265
|
if map && map[:controller].kind_of?(::Class)
|
268
266
|
classies << map
|
269
267
|
end
|
270
|
-
next if c_str == 'Index'
|
271
|
-
route = "#{env['SCRIPT_NAME']}/#{request_paths[0
|
272
|
-
query = request_paths[(index+1)
|
268
|
+
next if c_str == 'Index' || c_str.blank?
|
269
|
+
route = "#{env['SCRIPT_NAME']}/#{request_paths[0...index].join('/')}"
|
270
|
+
query = request_paths[(index+1)...-1]
|
273
271
|
map = get_class_map(c_str, _c, route, query)
|
274
|
-
|
275
|
-
classies << map
|
276
|
-
end
|
272
|
+
_c = nil
|
277
273
|
if map
|
278
|
-
|
279
|
-
|
280
|
-
|
281
|
-
|
282
|
-
|
283
|
-
_c = nil
|
284
|
-
break
|
274
|
+
classies << map if map[:controller].kind_of?(::Class)
|
275
|
+
p map[:controller].kind_of?(::Module)
|
276
|
+
if map[:controller].kind_of?(::Class) || map[:controller].kind_of?(::Module)
|
277
|
+
_c = map[:controller]
|
278
|
+
end
|
285
279
|
end
|
286
280
|
end
|
287
281
|
end
|
File without changes
|
File without changes
|
@@ -9,10 +9,14 @@ module UzuUzu
|
|
9
9
|
#
|
10
10
|
DEFAULT_YAML = 'uzuuzu.yaml'
|
11
11
|
#
|
12
|
-
attr_accessor :
|
12
|
+
attr_accessor :map
|
13
13
|
#
|
14
14
|
attr_accessor :service_name
|
15
15
|
#
|
16
|
+
attr_accessor :dm
|
17
|
+
#
|
18
|
+
attr_accessor :s3
|
19
|
+
#
|
16
20
|
attr_accessor :logger
|
17
21
|
#
|
18
22
|
attr_accessor :memcache
|
@@ -39,6 +43,7 @@ module UzuUzu
|
|
39
43
|
|
40
44
|
def initialize(yaml=nil)
|
41
45
|
load_yaml(yaml||self.class.default_yaml)
|
46
|
+
dm
|
42
47
|
end
|
43
48
|
|
44
49
|
def load_yaml(yaml)
|
@@ -69,9 +74,9 @@ module UzuUzu
|
|
69
74
|
end
|
70
75
|
end
|
71
76
|
|
72
|
-
def
|
73
|
-
@
|
74
|
-
@
|
77
|
+
def map
|
78
|
+
@map = {} if @map.nil?
|
79
|
+
@map
|
75
80
|
end
|
76
81
|
|
77
82
|
def config
|
@@ -81,15 +86,31 @@ module UzuUzu
|
|
81
86
|
|
82
87
|
def logger
|
83
88
|
if @logger.nil?
|
84
|
-
env = @config['logger'].
|
89
|
+
env = @config['logger'].dup unless @config.nil?
|
85
90
|
@logger = Wrapper::Logger.new(env || {}).logger
|
86
91
|
end
|
87
92
|
@logger
|
88
93
|
end
|
89
94
|
|
95
|
+
def dm
|
96
|
+
if @dm.nil?
|
97
|
+
env = @config['dm'].dup unless @config.nil?
|
98
|
+
@dm = Wrapper::Dm.new(env || {})
|
99
|
+
end
|
100
|
+
@dm
|
101
|
+
end
|
102
|
+
|
103
|
+
def s3
|
104
|
+
if @s3.nil?
|
105
|
+
env = @config['s3'].dup unless @config.nil?
|
106
|
+
@s3 = Wrapper::S3.new(env || {})
|
107
|
+
end
|
108
|
+
@s3
|
109
|
+
end
|
110
|
+
|
90
111
|
def memcache
|
91
112
|
if @memcache.nil?
|
92
|
-
env = @config['memcache'].
|
113
|
+
env = @config['memcache'].dup unless @config.nil?
|
93
114
|
@memcache = Wrapper::Wrapper.new('memcache', env || {}).wrapper
|
94
115
|
@memcache ||= {}
|
95
116
|
end
|
@@ -98,7 +119,7 @@ module UzuUzu
|
|
98
119
|
|
99
120
|
def rack_session
|
100
121
|
if @rack_session.nil?
|
101
|
-
env = @config['rack_session'].
|
122
|
+
env = @config['rack_session'].dup unless @config.nil?
|
102
123
|
@rack_session = Wrapper::Wrapper.new('rack_session', env || {}).wrapper
|
103
124
|
end
|
104
125
|
@rack_session
|
@@ -28,8 +28,8 @@ module UzuUzu
|
|
28
28
|
def render(view, options={}, locals={}, &block)
|
29
29
|
view_path = nil
|
30
30
|
catch(:view_finded) do
|
31
|
-
_view_path = "#{application.view_root}#{
|
32
|
-
_view_path
|
31
|
+
_view_path = "#{application.view_root}#{helper.route}"
|
32
|
+
p _view_path
|
33
33
|
::Tilt.mappings.each_key do |key|
|
34
34
|
_path = "#{_view_path}.#{key}"
|
35
35
|
if ::File.file?(_path)
|
@@ -0,0 +1,137 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
require 'dm-core'
|
3
|
+
|
4
|
+
module UzuUzu
|
5
|
+
module Wrapper
|
6
|
+
class Dm
|
7
|
+
#
|
8
|
+
attr_reader :adapter
|
9
|
+
#
|
10
|
+
attr_reader :repositories
|
11
|
+
|
12
|
+
#
|
13
|
+
#
|
14
|
+
#
|
15
|
+
def initialize(env=nil)
|
16
|
+
if env.nil?
|
17
|
+
return
|
18
|
+
end
|
19
|
+
|
20
|
+
unless env['logger'].nil?
|
21
|
+
DataMapper::logger = ::UzuUzu::Wrapper::Logger.new(env['logger']).logger
|
22
|
+
end
|
23
|
+
@repositories = []
|
24
|
+
env.each do |key, value|
|
25
|
+
@repositories.push key.to_sym
|
26
|
+
if value['adapter']
|
27
|
+
@adapter = value['adapter']
|
28
|
+
DataMapper.setup(key.to_sym, value)
|
29
|
+
if value['logger']
|
30
|
+
case(value['adapter'])
|
31
|
+
when 'sqlite3'
|
32
|
+
DataObjects::Sqlite3.logger = ::UzuUzu::Wrapper::Logger.new(value['logger']).logger
|
33
|
+
when 'postgres'
|
34
|
+
DataObjects::Postgres.logger = ::UzuUzu::Wrapper::Logger.new(value['logger']).logger
|
35
|
+
when 'mysql'
|
36
|
+
DataObjects::MySql.logger = ::UzuUzu::Wrapper::Logger.new(value['logger']).logger
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end # repositories_env.each
|
41
|
+
end # new
|
42
|
+
|
43
|
+
#
|
44
|
+
#
|
45
|
+
#
|
46
|
+
def import_file(model, file, overwrite=false)
|
47
|
+
unless ::File.file?(file)
|
48
|
+
raise "UzuUzu fixture import error file not found : #{file}"
|
49
|
+
end
|
50
|
+
ext = ::File.extname(file)
|
51
|
+
case(ext)
|
52
|
+
when '.yml', '.yaml'
|
53
|
+
import_yaml(model, ::YAML.load_file(file), overwrite)
|
54
|
+
when '.xml'
|
55
|
+
# TODO
|
56
|
+
when '.json', '.js'
|
57
|
+
# TODO
|
58
|
+
when '.csv'
|
59
|
+
begin
|
60
|
+
require 'fastercsv'
|
61
|
+
::FasterCSV.foreach(file) do |row|
|
62
|
+
import_csv(model, row, overwrite)
|
63
|
+
end
|
64
|
+
rescue
|
65
|
+
require "csv"
|
66
|
+
::CSV.open(file) do |row|
|
67
|
+
import_csv(model, row, overwrite)
|
68
|
+
end
|
69
|
+
end
|
70
|
+
end
|
71
|
+
nil
|
72
|
+
end # import_file
|
73
|
+
|
74
|
+
def import_yaml(model, yaml, overwrite=false)
|
75
|
+
::UzuUzu.logger.debug 'import yaml'
|
76
|
+
if yaml.kind_of?(Array)
|
77
|
+
yaml.each do |map|
|
78
|
+
::UzuUzu.logger.debug "import #{map.inspect}"
|
79
|
+
resource = model.first(:id => map[:id]) unless map[:id].nil?
|
80
|
+
if resource.nil?
|
81
|
+
resource = model.new(map)
|
82
|
+
unless resource.valid?
|
83
|
+
::UzuUzu.logger.error resource.errors
|
84
|
+
end
|
85
|
+
resource.save
|
86
|
+
elsif overwrite
|
87
|
+
resource.update(map)
|
88
|
+
unless resource.valid?
|
89
|
+
::UzuUzu.logger.error resource.errors
|
90
|
+
end
|
91
|
+
end
|
92
|
+
end
|
93
|
+
elsif yaml.kind_of?(Hash)
|
94
|
+
::UzuUzu.logger.debug "import #{yaml.inspect}"
|
95
|
+
resource = model.first(:id => yaml[:id]) unless yaml[:id].nil?
|
96
|
+
if resource.nil?
|
97
|
+
resource = model.new(yaml)
|
98
|
+
unless resource.valid?
|
99
|
+
::UzuUzu.logger.error resource.errors
|
100
|
+
end
|
101
|
+
resource.save
|
102
|
+
elsif overwrite
|
103
|
+
resource.update(yaml)
|
104
|
+
unless resource.valid?
|
105
|
+
::UzuUzu.logger.error resource.errors
|
106
|
+
end
|
107
|
+
end
|
108
|
+
else
|
109
|
+
::UzuUzu.logger.error "import type miss match #{yaml.inspect}"
|
110
|
+
end
|
111
|
+
::UzuUzu.logger.debug 'imported yaml'
|
112
|
+
end # import_yaml
|
113
|
+
|
114
|
+
def import_json(model, json, overwrite=false)
|
115
|
+
# TODO
|
116
|
+
end # import_json
|
117
|
+
|
118
|
+
def import_xml(model, xml, overwrite=false)
|
119
|
+
# TODO
|
120
|
+
end # import_xml
|
121
|
+
|
122
|
+
def import_csv(model, csv, overwrite=false)
|
123
|
+
resource = model.first(:id => csv[0])
|
124
|
+
csv.each_with_index do |culumn, index|
|
125
|
+
if resource.nil? || overwrite
|
126
|
+
resource ||= model.new
|
127
|
+
resource.properties.each_with_index do |property, column_no|
|
128
|
+
resource[property.name] = culumn if index = column_no
|
129
|
+
end
|
130
|
+
resource.save
|
131
|
+
end
|
132
|
+
end
|
133
|
+
end # import_csv
|
134
|
+
|
135
|
+
end # Dm
|
136
|
+
end # Wrapper
|
137
|
+
end # UzuUzu
|
@@ -0,0 +1,52 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
require 'right_aws'
|
3
|
+
|
4
|
+
module UzuUzu
|
5
|
+
module Wrapper
|
6
|
+
class S3
|
7
|
+
#
|
8
|
+
attr_reader :s3
|
9
|
+
#
|
10
|
+
attr_reader :buckets
|
11
|
+
|
12
|
+
#
|
13
|
+
#
|
14
|
+
#
|
15
|
+
def initialize(env=nil)
|
16
|
+
if env.nil?
|
17
|
+
return
|
18
|
+
end
|
19
|
+
@env = env.dup
|
20
|
+
@buckets_env = @env['buckets'].dup
|
21
|
+
@access_key = @env['access_key'] || @env[:access_key] ||''
|
22
|
+
@secret_key = @env['secret_key'] || @env[:secret_key] ||''
|
23
|
+
|
24
|
+
params = {}
|
25
|
+
params[:server] = @env['server'] unless @env['server'] .blank?
|
26
|
+
params[:port] = @env['port'] unless @env['port'] .blank?
|
27
|
+
params[:protocol] = @env['protocol'] unless @env['protocol'] .blank?
|
28
|
+
params[:logger] = ::UzuUzu.logger
|
29
|
+
@s3 = ::RightAws::S3.new(@access_key, @secret_key, params)
|
30
|
+
@buckets = {}
|
31
|
+
end # new
|
32
|
+
|
33
|
+
#
|
34
|
+
#
|
35
|
+
#
|
36
|
+
def method_missing(name, *args)
|
37
|
+
name = name.to_s
|
38
|
+
if @buckets_env[name].nil?
|
39
|
+
return nil
|
40
|
+
end
|
41
|
+
if @buckets[name].nil?
|
42
|
+
params = {}
|
43
|
+
params[:location] = @buckets_env[name]['location'] unless @buckets_env[name]['location'].blank?
|
44
|
+
params = nil if params.blank?
|
45
|
+
@buckets[name] = @s3.bucket(@buckets_env[name]['name'], true, params)
|
46
|
+
end
|
47
|
+
@buckets[name]
|
48
|
+
end # method_missing
|
49
|
+
|
50
|
+
end # S3
|
51
|
+
end # Wrapper
|
52
|
+
end # UzuUzu
|
data/lib/uzuuzu_core.rb
CHANGED
@@ -9,6 +9,8 @@ require 'tilt'
|
|
9
9
|
require 'uzuuzu-core/ext/object'
|
10
10
|
require 'uzuuzu-core/uzuuzu-core'
|
11
11
|
require 'uzuuzu-core/wrapper/logger'
|
12
|
+
require 'uzuuzu-core/wrapper/dm'
|
13
|
+
require 'uzuuzu-core/wrapper/s3'
|
12
14
|
require 'uzuuzu-core/wrapper/wrapper'
|
13
15
|
require 'uzuuzu-core/application'
|
14
16
|
require 'uzuuzu-core/environments'
|
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.
|
8
|
+
s.version = "0.1.11"
|
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{2012-01-
|
12
|
+
s.date = %q{2012-01-09}
|
13
13
|
s.description = %q{uzuuzu core library}
|
14
14
|
s.email = %q{takuya_v_v@uzuuzu.jp}
|
15
15
|
s.extra_rdoc_files = [
|
@@ -26,14 +26,15 @@ Gem::Specification.new do |s|
|
|
26
26
|
"README.rdoc",
|
27
27
|
"Rakefile",
|
28
28
|
"VERSION",
|
29
|
+
"lib/dm-simpledb-adapter.rb",
|
29
30
|
"lib/uzuuzu-core/application.rb",
|
30
31
|
"lib/uzuuzu-core/controller.rb",
|
31
32
|
"lib/uzuuzu-core/controller/index.rb",
|
32
33
|
"lib/uzuuzu-core/controller/login/facebook.rb",
|
33
34
|
"lib/uzuuzu-core/controller/login/google.rb",
|
34
35
|
"lib/uzuuzu-core/controller/login/twitter.rb",
|
35
|
-
"lib/uzuuzu-core/controller/view/error/404.rhtml",
|
36
|
-
"lib/uzuuzu-core/controller/view/error/500.rhtml",
|
36
|
+
"lib/uzuuzu-core/controller/view/index/error/404.rhtml",
|
37
|
+
"lib/uzuuzu-core/controller/view/index/error/500.rhtml",
|
37
38
|
"lib/uzuuzu-core/environments.rb",
|
38
39
|
"lib/uzuuzu-core/ext/object.rb",
|
39
40
|
"lib/uzuuzu-core/helper.rb",
|
@@ -62,7 +63,9 @@ Gem::Specification.new do |s|
|
|
62
63
|
"lib/uzuuzu-core/response.rb",
|
63
64
|
"lib/uzuuzu-core/tilt.rb",
|
64
65
|
"lib/uzuuzu-core/uzuuzu-core.rb",
|
66
|
+
"lib/uzuuzu-core/wrapper/dm.rb",
|
65
67
|
"lib/uzuuzu-core/wrapper/logger.rb",
|
68
|
+
"lib/uzuuzu-core/wrapper/s3.rb",
|
66
69
|
"lib/uzuuzu-core/wrapper/wrapper.rb",
|
67
70
|
"lib/uzuuzu_core.rb",
|
68
71
|
"spec/spec_helper.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.
|
5
|
+
version: 0.1.11
|
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: 2012-01-
|
13
|
+
date: 2012-01-09 00:00:00 +09:00
|
14
14
|
default_executable:
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
@@ -142,14 +142,15 @@ files:
|
|
142
142
|
- README.rdoc
|
143
143
|
- Rakefile
|
144
144
|
- VERSION
|
145
|
+
- lib/dm-simpledb-adapter.rb
|
145
146
|
- lib/uzuuzu-core/application.rb
|
146
147
|
- lib/uzuuzu-core/controller.rb
|
147
148
|
- lib/uzuuzu-core/controller/index.rb
|
148
149
|
- lib/uzuuzu-core/controller/login/facebook.rb
|
149
150
|
- lib/uzuuzu-core/controller/login/google.rb
|
150
151
|
- lib/uzuuzu-core/controller/login/twitter.rb
|
151
|
-
- lib/uzuuzu-core/controller/view/error/404.rhtml
|
152
|
-
- lib/uzuuzu-core/controller/view/error/500.rhtml
|
152
|
+
- lib/uzuuzu-core/controller/view/index/error/404.rhtml
|
153
|
+
- lib/uzuuzu-core/controller/view/index/error/500.rhtml
|
153
154
|
- lib/uzuuzu-core/environments.rb
|
154
155
|
- lib/uzuuzu-core/ext/object.rb
|
155
156
|
- lib/uzuuzu-core/helper.rb
|
@@ -178,7 +179,9 @@ files:
|
|
178
179
|
- lib/uzuuzu-core/response.rb
|
179
180
|
- lib/uzuuzu-core/tilt.rb
|
180
181
|
- lib/uzuuzu-core/uzuuzu-core.rb
|
182
|
+
- lib/uzuuzu-core/wrapper/dm.rb
|
181
183
|
- lib/uzuuzu-core/wrapper/logger.rb
|
184
|
+
- lib/uzuuzu-core/wrapper/s3.rb
|
182
185
|
- lib/uzuuzu-core/wrapper/wrapper.rb
|
183
186
|
- lib/uzuuzu_core.rb
|
184
187
|
- spec/spec_helper.rb
|
@@ -198,7 +201,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
198
201
|
requirements:
|
199
202
|
- - ">="
|
200
203
|
- !ruby/object:Gem::Version
|
201
|
-
hash:
|
204
|
+
hash: -4154038049771216448
|
202
205
|
segments:
|
203
206
|
- 0
|
204
207
|
version: "0"
|