uzuuzu-core 0.0.4 → 0.0.5
Sign up to get free protection for your applications and to get access to all the features.
- data/.redcar/tags +145 -0
- data/Gemfile +10 -6
- data/Gemfile.lock +14 -10
- data/VERSION +1 -1
- data/lib/uzuuzu-core.rb +5 -1
- data/lib/uzuuzu/controller/admin.rb +11 -0
- data/lib/uzuuzu/controller/contents.rb +11 -0
- data/lib/uzuuzu/controller/crud.rb +235 -0
- data/lib/uzuuzu/controller/css.rb +11 -0
- data/lib/uzuuzu/controller/error.rb +11 -0
- data/lib/uzuuzu/controller/index.rb +25 -0
- data/lib/uzuuzu/controller/initialize.rb +52 -0
- data/lib/uzuuzu/controller/javascript.rb +11 -0
- data/lib/uzuuzu/controller/oauth.rb +10 -0
- data/lib/uzuuzu/controller/openid.rb +40 -0
- data/lib/uzuuzu/controller/page.rb +14 -0
- data/lib/uzuuzu/controller/plugin.rb +11 -0
- data/lib/uzuuzu/controller/user.rb +22 -0
- data/lib/uzuuzu/controller/view/admin/index.xhtml +0 -0
- data/lib/uzuuzu/controller/view/crud/destroy.rhtml +28 -0
- data/lib/uzuuzu/controller/view/crud/edit.rhtml +52 -0
- data/lib/uzuuzu/controller/view/crud/index.rhtml +45 -0
- data/lib/uzuuzu/controller/view/crud/new.rhtml +48 -0
- data/lib/uzuuzu/controller/view/crud/show.rhtml +47 -0
- data/lib/uzuuzu/controller/view/error/404.tenjin +0 -0
- data/lib/uzuuzu/controller/view/initialize/step1.xhtml +30 -0
- data/lib/uzuuzu/controller/view/initialize/step2.xhtml +1 -0
- data/lib/uzuuzu/controller/view/initialize/step3.xhtml +0 -0
- data/lib/uzuuzu/controller/view/openid/index.xhtml +14 -0
- data/lib/uzuuzu/controller/view/page.xhtml +17 -0
- data/lib/uzuuzu/controller/view/user/entry.xhtml +13 -0
- data/lib/uzuuzu/fixture/layout.yaml +110 -0
- data/lib/uzuuzu/helper/controller.rb +135 -0
- data/lib/uzuuzu/helper/fixture.rb +9 -0
- data/lib/uzuuzu/helper/localize.rb +15 -0
- data/lib/uzuuzu/helper/renderer.rb +158 -0
- data/lib/uzuuzu/helper/route.rb +62 -0
- data/lib/uzuuzu/helper/uzuuzu_page.rb +61 -0
- data/lib/uzuuzu/helper/xhtml.rb +44 -0
- data/lib/uzuuzu/model/.DS_Store +0 -0
- data/lib/uzuuzu/model/remote_user.rb +70 -0
- data/lib/uzuuzu/uzuuzu-core.rb +10 -1
- data/lib/uzuuzu/wrapper/application.rb +282 -0
- data/lib/uzuuzu/wrapper/controller.rb +28 -80
- data/lib/uzuuzu/wrapper/datastore.rb +17 -0
- data/lib/uzuuzu/wrapper/environments.rb +129 -0
- data/lib/uzuuzu/wrapper/helper.rb +13 -0
- data/lib/uzuuzu/wrapper/lang/en.yaml +19 -0
- data/lib/uzuuzu/wrapper/lang/ja.yaml +19 -0
- data/lib/uzuuzu/wrapper/logger.rb +95 -21
- data/lib/uzuuzu/wrapper/object.rb +9 -0
- data/lib/uzuuzu/wrapper/request.rb +26 -0
- data/lib/uzuuzu/wrapper/response.rb +16 -0
- data/lib/uzuuzu/wrapper/uzuuzu.rb +26 -146
- data/uzuuzu-core.gemspec +71 -14
- metadata +104 -15
@@ -1,87 +1,35 @@
|
|
1
|
-
|
1
|
+
# coding: utf-8
|
2
2
|
|
3
3
|
module UzuUzu
|
4
4
|
module Controller
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
uzuuzu_initialize
|
22
|
-
end
|
23
|
-
end
|
24
|
-
end
|
25
|
-
|
26
|
-
def respond_to(&b)
|
27
|
-
if b.nil?
|
28
|
-
return
|
29
|
-
end
|
30
|
-
wish = action.wish.to_sym
|
31
|
-
case(wish)
|
32
|
-
when :html
|
33
|
-
b.call(wish)
|
34
|
-
when :xml
|
35
|
-
@uzuuzu_respond_to_xml = b.call(wish)
|
36
|
-
when :json
|
37
|
-
@uzuuzu_respond_to_json = b.call(wish)
|
38
|
-
when :yaml
|
39
|
-
@uzuuzu_respond_to_yaml = b.call(wish)
|
40
|
-
when :css
|
41
|
-
@uzuuzu_respond_to_css = b.call(wish)
|
42
|
-
end
|
5
|
+
autoload(:Admin, 'uzuuzu/controller/admin')
|
6
|
+
autoload(:Contents, 'uzuuzu/controller/contents')
|
7
|
+
autoload(:Crud, 'uzuuzu/controller/crud')
|
8
|
+
autoload(:Css, 'uzuuzu/controller/css')
|
9
|
+
autoload(:Error, 'uzuuzu/controller/error')
|
10
|
+
autoload(:Index, 'uzuuzu/controller/index')
|
11
|
+
autoload(:Initialize, 'uzuuzu/controller/initialize')
|
12
|
+
autoload(:Javascript, 'uzuuzu/controller/javascript')
|
13
|
+
autoload(:Oauth, 'uzuuzu/controller/oauth')
|
14
|
+
autoload(:Openid, 'uzuuzu/controller/openid')
|
15
|
+
autoload(:Page, 'uzuuzu/controller/page')
|
16
|
+
autoload(:Plugin, 'uzuuzu/controller/plugin')
|
17
|
+
autoload(:User, 'uzuuzu/controller/user')
|
18
|
+
|
19
|
+
def self.current
|
20
|
+
Thread.current[:controller]
|
43
21
|
end
|
44
|
-
|
45
|
-
def
|
46
|
-
|
47
|
-
|
48
|
-
end
|
49
|
-
@uzuuzu_map
|
22
|
+
|
23
|
+
def self.before_all
|
24
|
+
UzuUzu.datastore
|
25
|
+
before_logger
|
50
26
|
end
|
51
|
-
|
52
|
-
def
|
53
|
-
uzuuzu_map[:title] = memcache.get(:uzuuzu_info_title)
|
54
|
-
if uzuuzu_map[:title].nil?
|
55
|
-
info = Info.uniq
|
56
|
-
unless info.nil?
|
57
|
-
uzuuzu_map[:title] = info.title
|
58
|
-
memcache.set(:uzuuzu_info_title, uzuuzu_map[:title])
|
59
|
-
end
|
60
|
-
end
|
27
|
+
|
28
|
+
def self.after_all
|
61
29
|
end
|
62
|
-
|
63
|
-
def
|
64
|
-
|
65
|
-
uzuuzu_map[:remote_user] = session[:remote_user]
|
66
|
-
unless uzuuzu_map[:remote_user].nil?
|
67
|
-
uzuuzu_map[:remote_user] = nil unless uzuuzu_map[:remote_user].authorize?
|
68
|
-
end
|
69
|
-
end
|
70
|
-
uzuuzu_map[:remote_user]
|
71
|
-
end
|
72
|
-
|
73
|
-
def admin?
|
74
|
-
if remote_user.nil?
|
75
|
-
false
|
76
|
-
end
|
77
|
-
remote_user.admin?
|
78
|
-
end
|
79
|
-
|
80
|
-
def authorize?
|
81
|
-
if remote_user.nil?
|
82
|
-
false
|
83
|
-
end
|
84
|
-
remote_user.authorize?
|
30
|
+
|
31
|
+
def self.before_logger
|
32
|
+
UzuUzu.logger.debug UzuUzu::Request.current.params
|
85
33
|
end
|
86
|
-
end
|
87
|
-
end
|
34
|
+
end # Controller
|
35
|
+
end # UzuUzu
|
@@ -34,5 +34,22 @@ module UzuUzu
|
|
34
34
|
@auto_upgrade
|
35
35
|
end
|
36
36
|
|
37
|
+
#
|
38
|
+
#
|
39
|
+
#TODO more logger
|
40
|
+
#
|
41
|
+
def create_logger(env)
|
42
|
+
case(env['adapter'])
|
43
|
+
when 'file'
|
44
|
+
logger = file_logger(env)
|
45
|
+
when 'stderr'
|
46
|
+
logger = stderr_logger(env)
|
47
|
+
when 'stdout'
|
48
|
+
logger = stdout_logger(env)
|
49
|
+
end
|
50
|
+
logger
|
51
|
+
end
|
52
|
+
|
53
|
+
|
37
54
|
end # DataBaseWrapper
|
38
55
|
end # UzuUzu
|
@@ -0,0 +1,129 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
|
3
|
+
module UzuUzu
|
4
|
+
#
|
5
|
+
#
|
6
|
+
#
|
7
|
+
class Environments
|
8
|
+
|
9
|
+
#
|
10
|
+
DEFAULT_YAML = 'uzuuzu.yaml'
|
11
|
+
#
|
12
|
+
attr_accessor :logger
|
13
|
+
#
|
14
|
+
attr_accessor :datastore
|
15
|
+
#
|
16
|
+
attr_accessor :memcache
|
17
|
+
#
|
18
|
+
attr_accessor :mailler
|
19
|
+
#
|
20
|
+
attr_accessor :gae
|
21
|
+
#
|
22
|
+
attr_accessor :engine
|
23
|
+
#
|
24
|
+
attr_accessor :config
|
25
|
+
#
|
26
|
+
attr_accessor :lang
|
27
|
+
#
|
28
|
+
attr_accessor :localize
|
29
|
+
|
30
|
+
def self.current
|
31
|
+
UzuUzu.current.environments
|
32
|
+
end
|
33
|
+
|
34
|
+
def self.default_yaml=(yaml)
|
35
|
+
@@yaml = yaml
|
36
|
+
end
|
37
|
+
|
38
|
+
def self.default_yaml
|
39
|
+
@@yaml ||= DEFAULT_YAML
|
40
|
+
end
|
41
|
+
|
42
|
+
def initialize(yaml=nil)
|
43
|
+
load_yaml(yaml||self.class.default_yaml)
|
44
|
+
end
|
45
|
+
|
46
|
+
def load_yaml(yaml)
|
47
|
+
return if yaml.blank?
|
48
|
+
yaml = YAML.load_file(yaml) unless yaml.kind_of?(Hash)
|
49
|
+
setup(yaml)
|
50
|
+
end
|
51
|
+
|
52
|
+
def setup(map)
|
53
|
+
return if map.blank?
|
54
|
+
@config = map
|
55
|
+
if map['gae'].blank?
|
56
|
+
@gae = false
|
57
|
+
else
|
58
|
+
@gae = true
|
59
|
+
require 'uzuuzu/adapter/gae'
|
60
|
+
end
|
61
|
+
@lang = map['lang'] || 'ja'
|
62
|
+
@engine = map['engine'] || 'erubis'
|
63
|
+
load_localize
|
64
|
+
end
|
65
|
+
|
66
|
+
def load_localize
|
67
|
+
@localize = YAML.load_file(__DIR__("lang/#{@lang}.yaml"))
|
68
|
+
end
|
69
|
+
|
70
|
+
def logger
|
71
|
+
if @logger.nil?
|
72
|
+
env = @config['logger'] unless @config.nil?
|
73
|
+
@logger = UzuUzu::LoggerWrapper.new(env || {})
|
74
|
+
end
|
75
|
+
@logger
|
76
|
+
end
|
77
|
+
|
78
|
+
def datastore
|
79
|
+
if @datastore.nil?
|
80
|
+
unless @gae or @config.nil? or @config['datastore'].blank?
|
81
|
+
case(@config['datastore']['adapter'])
|
82
|
+
when 'datamapper'
|
83
|
+
require 'uzuuzu/adapter/datamapper'
|
84
|
+
end
|
85
|
+
end
|
86
|
+
env = @config['datastore'] unless @config.nil?
|
87
|
+
@datastore = UzuUzu::DataStoreWrapper.new(env || {})
|
88
|
+
end
|
89
|
+
@datastore
|
90
|
+
end
|
91
|
+
|
92
|
+
def memcache
|
93
|
+
if @memcache.nil?
|
94
|
+
unless @gae or @config.nil? or @config['memcache'].blank?
|
95
|
+
case(@config['memcache']['adapter'])
|
96
|
+
when 'memcache-client'
|
97
|
+
require 'uzuuzu/adapter/memcache-client'
|
98
|
+
end
|
99
|
+
end
|
100
|
+
env = @config['memcache'] unless @config.nil?
|
101
|
+
@memcache = UzuUzu::MemcacheWrapper.new(env || {})
|
102
|
+
end
|
103
|
+
@memcache
|
104
|
+
end
|
105
|
+
|
106
|
+
def mailler
|
107
|
+
if @mailer.nil?
|
108
|
+
unless @gae or @config.nil? or @config['mailer'].blank?
|
109
|
+
case(@config['mailer']['adapter'])
|
110
|
+
when 'tmail'
|
111
|
+
require 'uzuuzu/adapter/tmail'
|
112
|
+
end
|
113
|
+
end
|
114
|
+
env = @config['mailer'] unless @config.nil?
|
115
|
+
@mailer = UzuUzu::MailerWrapper.new(env || {})
|
116
|
+
end
|
117
|
+
@mailer
|
118
|
+
end # mailler
|
119
|
+
|
120
|
+
def repository(&b)
|
121
|
+
datastore.uzuuzu_repository(&b)
|
122
|
+
end # repository
|
123
|
+
|
124
|
+
def transaction(*args, &b)
|
125
|
+
datastore.uzuuzu_transaction(*args, &b)
|
126
|
+
end # transaction
|
127
|
+
|
128
|
+
end # Environments
|
129
|
+
end # UzuUzu
|
@@ -0,0 +1,13 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
|
3
|
+
module UzuUzu
|
4
|
+
module Helper
|
5
|
+
autoload(:Controller, 'uzuuzu/helper/controller')
|
6
|
+
autoload(:Fixture, 'uzuuzu/helper/fixture')
|
7
|
+
autoload(:Localize, 'uzuuzu/helper/localize')
|
8
|
+
autoload(:Renderer, 'uzuuzu/helper/renderer')
|
9
|
+
autoload(:Route, 'uzuuzu/helper/route')
|
10
|
+
autoload(:UzuUzuPage, 'uzuuzu/helper/uzuuzu_page')
|
11
|
+
autoload(:XHtml, 'uzuuzu/helper/xhtml')
|
12
|
+
end
|
13
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
|
2
|
+
# common
|
3
|
+
create: Create
|
4
|
+
entry: Entry
|
5
|
+
update: Update
|
6
|
+
delete: Delete
|
7
|
+
|
8
|
+
login: Login
|
9
|
+
|
10
|
+
# openid
|
11
|
+
openid_messege: Choice!
|
12
|
+
openid_url: Other OpenId URL
|
13
|
+
|
14
|
+
# user entry
|
15
|
+
user_entry: Please Entry
|
16
|
+
user_entry_name: Display Name
|
17
|
+
|
18
|
+
|
19
|
+
|
@@ -1,37 +1,111 @@
|
|
1
|
-
|
1
|
+
require 'logger'
|
2
2
|
|
3
3
|
module UzuUzu
|
4
4
|
class LoggerWrapper
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
5
|
+
attr_reader :loggers
|
6
|
+
|
7
|
+
#
|
8
|
+
#
|
9
|
+
#
|
10
10
|
def initialize(env=nil, options={})
|
11
11
|
logger_env = env.clone
|
12
12
|
unless logger_env.kind_of?(Array)
|
13
13
|
logger_env = [logger_env]
|
14
14
|
end
|
15
|
+
@loggers = []
|
15
16
|
logger_env.each do |logger|
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
17
|
+
@loggers << create_logger(logger)
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
#
|
22
|
+
#
|
23
|
+
#
|
24
|
+
def method_missing(action, *args)
|
25
|
+
@loggers.each do |logger|
|
26
|
+
begin
|
27
|
+
args.each do |message|
|
28
|
+
message = message.to_str if message.respond_to?(:to_str)
|
29
|
+
message = message.inspect unless message.instance_of?(String)
|
30
|
+
logger.send(action, message)
|
31
|
+
end
|
32
|
+
rescue => e
|
33
|
+
# puts standerd error output
|
34
|
+
$stderr.puts 'logger send error'
|
35
|
+
$stderr.puts e
|
36
|
+
$stderr.puts e.backtrace
|
29
37
|
end
|
30
38
|
end
|
31
39
|
end
|
40
|
+
|
41
|
+
#
|
42
|
+
#
|
43
|
+
#TODO:: more logger
|
44
|
+
#
|
45
|
+
def create_logger(env)
|
46
|
+
case(env['adapter'])
|
47
|
+
when 'file'
|
48
|
+
logger = file_logger(env)
|
49
|
+
when 'stderr'
|
50
|
+
logger = stderr_logger(env)
|
51
|
+
when 'stdout'
|
52
|
+
logger = stdout_logger(env)
|
53
|
+
when 'syslog'
|
54
|
+
when 'growl'
|
55
|
+
when 'analogger'
|
56
|
+
end
|
57
|
+
logger
|
58
|
+
end # create_logger
|
59
|
+
|
60
|
+
#
|
61
|
+
#
|
62
|
+
#
|
63
|
+
def stderr_logger(env)
|
64
|
+
logger = Logger.new($stderr)
|
65
|
+
default_level_setting(logger, env)
|
66
|
+
end
|
32
67
|
|
33
|
-
|
34
|
-
|
68
|
+
#
|
69
|
+
#
|
70
|
+
#
|
71
|
+
def stdout_logger(env)
|
72
|
+
logger = Logger.new($stdout)
|
73
|
+
default_level_setting(logger, env)
|
74
|
+
end
|
75
|
+
|
76
|
+
|
77
|
+
#
|
78
|
+
#
|
79
|
+
#
|
80
|
+
def file_logger(env)
|
81
|
+
out = env['path']
|
82
|
+
rotate = (env['rotate'] || 0).to_i
|
83
|
+
rotate_size = (env['rotate_size'] || 0).to_i * 1024
|
84
|
+
FileUtils.mkdir_p(File.dirname(out))
|
85
|
+
logger = Logger.new(out, rotate, rotate_size)
|
86
|
+
default_level_setting(logger, env)
|
87
|
+
end # file_logger
|
88
|
+
|
89
|
+
#
|
90
|
+
#
|
91
|
+
#
|
92
|
+
def default_level_setting(logger, env)
|
93
|
+
level = env['level'] || :debug
|
94
|
+
case(level.to_sym)
|
95
|
+
when :info
|
96
|
+
logger.level = Logger::Severity::INFO
|
97
|
+
when :warn
|
98
|
+
logger.level = Logger::Severity::WARN
|
99
|
+
when :error
|
100
|
+
logger.level = Logger::Severity::ERROR
|
101
|
+
when :fatal
|
102
|
+
logger.level = Logger::Severity::FATAL
|
103
|
+
when :unknown
|
104
|
+
logger.level = Logger::Severity::UNKNOWN
|
105
|
+
else
|
106
|
+
logger.level = Logger::Severity::DEBUG
|
107
|
+
end
|
108
|
+
logger
|
35
109
|
end
|
36
110
|
end
|
37
111
|
end
|