uzuuzu-core 0.1.10 → 0.1.11
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 +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"
|