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 = Salestation::Web::Extractors::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(input)).value
#=> {x: '1', y: '2', foo: {bar: 'qq'}, aaa: [{bb: 'cc'}]}

Class Method Summary collapse

Class Method Details

.[](*filters) ⇒ Object



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

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