class SharedSettings::UI::Middleware
Public Class Methods
new(app)
click to toggle source
# File lib/shared_settings/ui/middleware.rb, line 10 def initialize(app) @app = app end
Public Instance Methods
call(env)
click to toggle source
# File lib/shared_settings/ui/middleware.rb, line 14 def call(env) request = Rack::Request.new(env) action = find_and_parse_route(request) request_method = request.request_method.downcase.to_sym return not_found if action.nil? || !action.method_defined?(request_method) action.new(request).send(request_method) end
Private Instance Methods
find_and_parse_route(request)
click to toggle source
# File lib/shared_settings/ui/middleware.rb, line 26 def find_and_parse_route(request) routes.find do |action| action.route_regex.match?(request.path_info) end end
not_found()
click to toggle source
# File lib/shared_settings/ui/middleware.rb, line 40 def not_found [404, { 'Content-Type' => 'application/json' }, ['']] end
routes()
click to toggle source
# File lib/shared_settings/ui/middleware.rb, line 32 def routes [ Actions::Mount, Actions::Asset, Actions::Setting ] end