Class: Rad::Processors::PrepareParams

Inherits:
Rad::Processor show all
Defined in:
lib/rad/http/processors/prepare_params.rb

Instance Attribute Summary

Attributes inherited from Rad::Processor

#next_processor

Instance Method Summary collapse

Methods inherited from Rad::Processor

#initialize, inspect

Constructor Details

This class inherits a constructor from Rad::Processor

Instance Method Details

#callObject



4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# File 'lib/rad/http/processors/prepare_params.rb', line 4

def call
  workspace.env.must_be.defined
  workspace.request = Rad::Request.new(workspace.env)
  workspace.path = workspace.request.path
  params = workspace.params = Rad::Params.new(workspace.request.params)

  if params.json?
    json_params = JSON.load params['json']
    json_params.must_be.a Hash
    json_params.keys.each do |k|
      logger.warn "Parameter :#{k} will be overwriden from JSON!" if params.include?(k)
    end
    params.merge! json_params
  end
  next_processor.call
end