Sha256: 399cbac42e7b73f7718c323505e61f4141685b55f837308c364d69d246e7fb03
Contents?: true
Size: 1.15 KB
Versions: 3
Compression:
Stored size: 1.15 KB
Contents
require 'hashie/dash' module Lurker class Request < Hashie::Dash PREFIX = 'action_dispatch.request' property :verb, required: true property :endpoint_path, required: true property :payload, default: {} # ext property :path_info, required: true property :path_params, default: {} property :query_params, default: {} def self.build_from_action_dispatch(request) new( verb: request.method, endpoint_path: route_name(request), path_info: request.path_info, path_params: request.env["#{PREFIX}.path_parameters"].stringify_keys.except('format'), query_params: request.env["#{PREFIX}.query_parameters"], payload: request.env["#{PREFIX}.request_parameters"].merge( request.env["#{PREFIX}.query_parameters"] ).stringify_keys.except('action', "controller", 'format', '_method') ) end def self.reject_internal(hash) end def self.route_name(request) if defined? Rails Rails.application.routes.router.recognize(request) do |route, _| return route.path.spec.to_s.sub('(.:format)', '') end end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
lurker-0.6.1 | lib/lurker/request.rb |
lurker-0.5.7 | lib/lurker/request.rb |
lurker-0.6.0 | lib/lurker/request.rb |