Module: SinatraRequestBody::Helper

Defined in:
lib/sinatra_request_body/helper.rb

Instance Method Summary collapse

Instance Method Details

#_parse(data) ⇒ Object



12
13
14
15
16
17
18
19
# File 'lib/sinatra_request_body/helper.rb', line 12

def _parse(data)
  begin
    null = nil
    eval(data)
  rescue Exception => e
    MultiJson.load(data, symbolize_keys: true)
  end
end

#_symbolize(obj = {}) ⇒ Object



21
22
23
24
25
26
27
28
29
30
# File 'lib/sinatra_request_body/helper.rb', line 21

def _symbolize(obj={})
  if obj.is_a?(Hash)
    obj.symbolize_keys!
    obj.values.each do|value|
      _symbolize(value) if value.is_a?(Hash)
    end
  elsif obj.is_a?(Array)
    obj.each{|iterm| _symbolize(iterm)}
  end
end

#merge_to_paramsObject



6
7
8
9
10
# File 'lib/sinatra_request_body/helper.rb', line 6

def merge_to_params
  data_body = request.body.read.force_encoding("utf-8")
  data = _parse(data_body) if data_body.present?
  params.merge!(data) if data.present?
end