Class: Ezframe::PageBase
Instance Attribute Summary collapse
Instance Method Summary
collapse
Constructor Details
#initialize(request = nil) ⇒ PageBase
Returns a new instance of PageBase.
11
12
13
14
15
16
|
# File 'lib/ezframe/page_base.rb', line 11
def initialize(request = nil)
@class_snake = class_to_snake(self.class)
set_request(request) if request
init_vars
end
|
Instance Attribute Details
Returns the value of attribute request.
9
10
11
|
# File 'lib/ezframe/page_base.rb', line 9
def request
@request
end
|
Instance Method Details
#init_vars ⇒ Object
18
19
|
# File 'lib/ezframe/page_base.rb', line 18
def init_vars
end
|
#login? ⇒ Boolean
95
96
97
|
# File 'lib/ezframe/page_base.rb', line 95
def login?
!!warden.user
end
|
#make_base_url(id = nil) ⇒ Object
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
|
# File 'lib/ezframe/page_base.rb', line 48
def make_base_url(id = nil)
path = Route::get_path(@class_snake)
params = @request.env["url_params"] || {}
path_s = path.map do |pa|
if pa == @class_snake.to_sym && id
"#{pa}/#{id}"
elsif params[pa.to_sym]
"#{pa}/#{params[pa.to_sym]}"
else
pa
end
end.join("/")
return "/#{path_s}"
end
|
#parse_json_body(body) ⇒ Object
76
77
78
79
80
81
82
83
84
85
|
# File 'lib/ezframe/page_base.rb', line 76
def parse_json_body(body)
return {} if !body || body.length==0
begin
json = JSON.parse(body, symbolize_names: true)
rescue => e
EzLog.info "ERROR: #{e.class}:#{e.message}\n#{e.backtrace}"
return nil
end
return json
end
|
87
88
89
|
# File 'lib/ezframe/page_base.rb', line 87
def session
return @request.env['rack.session']
end
|
#set_request(request) ⇒ Object
Rackのrequestを代入し、関連するインスタンス変数を定義
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
|
# File 'lib/ezframe/page_base.rb', line 22
def set_request(request)
@request = request
@column_set = ColumnSets.get(@class_snake)
@dataset = DB.dataset(@class_snake)
EzLog.debug "column_set is not defined: #{@class_snake}" unless @column_set
@params = parse_query_string(request.env["QUERY_STRING"])
@params.update(request.params)
@env = @request.env
@session = @env["rack.session"]
if %w[POST PUT].include?(request.request_method)
body = @request.body.read
if request.content_type.index("json")
@parsed_body = parse_json_body(body)
else
@parsed_body = parse_query_string(body)
end
@event = @parsed_body[:ezevent] || {}
@form = @event[:form]
end
end
|
#show_base_template(opts = {}) ⇒ Object
99
100
101
|
# File 'lib/ezframe/page_base.rb', line 99
def user
return warden.user
end
|
91
92
93
|
# File 'lib/ezframe/page_base.rb', line 91
def warden
return @request.env["warden"]
end
|