Class: Salestation::Web::Extractors::BodyParamExtractor

Inherits:
Object
  • Object
show all
Defined in:
lib/salestation/web/extractors.rb

Overview

Extracts and symbolizes params from request body

Examples:

extractor = BodyParamExtractor[:x, :y, {foo: [:bar, :baz]}, :aaa]
input = {
 'x' => '1',
 'y' => '2',
 'z' => '3',
 'foo' => {
   'bar' => 'qq'
  },
 'aaa' => [
    {
      'bb' => 'cc'
    }
  ]
}
# rack_request is Rack::Request with 'rack.request.form_hash' set to input
extractor.call(rack_request).value #=> {x: 1, y: 2, foo: {bar: 'qq'}, aaa: [{bb: 'cc'}]}

Class Method Summary collapse

Class Method Details

.[](*filters) ⇒ Object



238
239
240
# File 'lib/salestation/web/extractors.rb', line 238

def self.[](*filters)
  ParamExtractor[filters: filters, rack_key: 'rack.request.form_hash']
end