class Ezframe::PageBase
Attributes
request[RW]
Public Class Methods
new(request = nil)
click to toggle source
# 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
Public Instance Methods
init_vars()
click to toggle source
# File lib/ezframe/page_base.rb, line 18 def init_vars end
login?()
click to toggle source
# File lib/ezframe/page_base.rb, line 95 def login? !!warden.user end
make_base_url(id = nil)
click to toggle source
routeから基本URLを生成
# 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"] || {} # EzLog.info "make_base_url: params=#{params}" # params[@class_snake.to_sym] = id 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("/") # EzLog.info "path_s=#{path_s}" return "/#{path_s}" end
parse_json_body(body)
click to toggle source
# 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
session()
click to toggle source
# File lib/ezframe/page_base.rb, line 87 def session return @request.env['rack.session'] end
set_request(request)
click to toggle source
Rackのrequestを代入し、関連するインスタンス変数を定義
# 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) # EzLog.info "set_request: params=#{@params.inspect}" if @params.length > 0 # @id, @key = @params[:id], @params[:key] @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 # EzLog.info "parsed_body=#{@parsed_body.inspect}" @event = @parsed_body[:ezevent] || {} @form = @event[:form] end end
show_base_template(opts = {})
click to toggle source
# File lib/ezframe/page_base.rb, line 66 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_from_file("template/base.html", args) end
user()
click to toggle source
# File lib/ezframe/page_base.rb, line 99 def user return warden.user end
warden()
click to toggle source
# File lib/ezframe/page_base.rb, line 91 def warden return @request.env["warden"] end