class Rack::App::Endpoint::Config
Public Class Methods
new(raw)
click to toggle source
# File lib/rack/app/endpoint/config.rb, line 91 def initialize(raw) @raw = raw end
Public Instance Methods
ancestor_apps()
click to toggle source
# File lib/rack/app/endpoint/config.rb, line 30 def ancestor_apps [@raw[:ancestors]].flatten.compact end
app_class()
click to toggle source
# File lib/rack/app/endpoint/config.rb, line 34 def app_class ancestor_apps.first || raise('missing app class') end
callable()
click to toggle source
# File lib/rack/app/endpoint/config.rb, line 13 def callable @raw[:callable] end
defined_request_path()
click to toggle source
# File lib/rack/app/endpoint/config.rb, line 79 def defined_request_path Rack::App::Utils.normalize_path(@raw[:defined_request_path] ||= request_path) end
description()
click to toggle source
# File lib/rack/app/endpoint/config.rb, line 83 def description @raw[:route][:description] || @raw[:route][:desc] rescue nil end
endpoint_specific_middlewares()
click to toggle source
# File lib/rack/app/endpoint/config.rb, line 67 def endpoint_specific_middlewares @raw[:endpoint_specific_middlewares] ||= [] end
error_handler()
click to toggle source
# File lib/rack/app/endpoint/config.rb, line 63 def error_handler @raw[:error_handler] ||= Rack::App::ErrorHandler.new end
middlewares()
click to toggle source
# File lib/rack/app/endpoint/config.rb, line 38 def middlewares mws = [] ancestor_apps.reverse_each do |ancestors_app| mws.push(*ancestors_app.middlewares) end mws.push(*endpoint_specific_middlewares) return mws end
payload()
click to toggle source
# File lib/rack/app/endpoint/config.rb, line 51 def payload app_class.__send__(:payload) end
payload_builder()
click to toggle source
# File lib/rack/app/endpoint/config.rb, line 26 def payload_builder @raw[:payload].parser_builder end
payload_parser()
click to toggle source
# File lib/rack/app/endpoint/config.rb, line 55 def payload_parser payload.parser.to_parser end
request_method()
click to toggle source
# File lib/rack/app/endpoint/config.rb, line 71 def request_method @raw[:request_method] || raise('missing config: request_methods') end
request_path()
click to toggle source
# File lib/rack/app/endpoint/config.rb, line 75 def request_path Rack::App::Utils.normalize_path(@raw[:request_path] || raise('missing request_path!')) end
serializer()
click to toggle source
# File lib/rack/app/endpoint/config.rb, line 47 def serializer serializer_builder.to_serializer end
serializer_builder()
click to toggle source
# File lib/rack/app/endpoint/config.rb, line 59 def serializer_builder @raw[:serializer_builder] ||= app_class.__send__(:formats) end
to_hash()
click to toggle source
# File lib/rack/app/endpoint/config.rb, line 4 def to_hash error_handler endpoint_specific_middlewares request_path request_method defined_request_path @raw end
type()
click to toggle source
# File lib/rack/app/endpoint/config.rb, line 17 def type case callable when ::Rack::App::Block :endpoint else :application end end
Protected Instance Methods
logic_block()
click to toggle source
# File lib/rack/app/endpoint/config.rb, line 95 def logic_block @raw[:user_defined_logic] end