Class: Ezframe::PageBase
Direct Known Subclasses
Instance Attribute Summary collapse
-
#auth ⇒ Object
Returns the value of attribute auth.
-
#request ⇒ Object
Returns the value of attribute request.
Instance Method Summary collapse
- #init_vars ⇒ Object
-
#initialize(request = nil) ⇒ PageBase
constructor
A new instance of PageBase.
- #login? ⇒ Boolean
-
#make_base_url(id = nil) ⇒ Object
routeから基本URLを生成.
- #parse_json_body(body) ⇒ Object
-
#set_request(request) ⇒ Object
Rackのrequestを代入し、関連するインスタンス変数を定義.
- #show_base_template(opts = {}) ⇒ Object
- #user ⇒ Object
- #warden ⇒ Object
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) # puts "class_snake = #{@class_snake}" set_request(request) if request init_vars end |
Instance Attribute Details
#auth ⇒ Object
Returns the value of attribute auth.
9 10 11 |
# File 'lib/ezframe/page_base.rb', line 9 def auth @auth end |
#request ⇒ Object
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
93 94 95 |
# File 'lib/ezframe/page_base.rb', line 93 def login? !!warden.user end |
#make_base_url(id = nil) ⇒ Object
routeから基本URLを生成
51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 |
# File 'lib/ezframe/page_base.rb', line 51 def make_base_url(id = nil) path = Route::get_path(@class_snake) params = @request.env["url_params"] # params[@class_snake.to_sym] = id path_s = path.map do |pa| if pa == @class_snake.to_sym && id "#{pa}/#{id}" elsif params[p] "#{pa}/#{params[p]}" else pa end end.join("/") return "/#{path_s}" end |
#parse_json_body(body) ⇒ Object
77 78 79 80 81 82 83 84 85 86 87 |
# File 'lib/ezframe/page_base.rb', line 77 def parse_json_body(body) return {} if !body || body.length==0 begin json = JSON.parse(body) rescue => e mylog "ERROR: #{e.class}:#{e.}\n#{e.backtrace}" return nil end json = json.recursively_symbolize_keys if json.is_a?(Hash) || json.is_a?(Array) return json 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 46 47 48 |
# File 'lib/ezframe/page_base.rb', line 22 def set_request(request) @request = request @model = request.env["model"] mylog "[WARN] model is not defined" unless @model @column_set = @model.column_sets[@class_snake.to_sym] # mylog "[WARN] column_set is not defined: #{@class_snake}" unless @column_set if @column_set @dataset = @column_set.dataset end @params = parse_query_string(request.env["QUERY_STRING"]) @params.update(request.params) mylog "params=#{@params.inspect}" if @params.length > 0 # @id, @key = @params[:id], @params[:key] @env = @request.env @session = @env["rack.session"] # mylog "session = #{@session.inspect}" 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 # mylog "parsed_body=#{@parsed_body.inspect}" @event = @parsed_body[:event] || {} end end |
#show_base_template(opts = {}) ⇒ Object
67 68 69 70 71 72 73 74 75 |
# File 'lib/ezframe/page_base.rb', line 67 def show_base_template(opts = {}) args = { title: opts[:title], body: opts[:body], into_html_header: Materialize.into_html_header, into_bottom_of_body: Materialize.into_bottom_of_body, } Template.fill("template/base.html", args) end |
#user ⇒ Object
97 98 99 |
# File 'lib/ezframe/page_base.rb', line 97 def user warden.user end |
#warden ⇒ Object
89 90 91 |
# File 'lib/ezframe/page_base.rb', line 89 def warden @request.env["warden"] end |