Module: Formeze::FormData

Defined in:
lib/formeze/form_data.rb

Defined Under Namespace

Modules: Params Classes: ParamsHash, QueryParser

Class Method Summary collapse

Class Method Details

.parse(input) ⇒ Object



5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# File 'lib/formeze/form_data.rb', line 5

def self.parse(input)
  if input.is_a?(String)
    query_parser.parse_query(input)
  elsif input.respond_to?(:env)
    body = input.body
    body.rewind if body.respond_to?(:rewind)
    case input.media_type
    when 'multipart/form-data'
      Rack::Multipart.parse_multipart(input.env, Params)
    when 'application/x-www-form-urlencoded'
      query_parser.parse_query(body.read)
    else
      raise ArgumentError, "can't parse #{input.media_type.inspect} form data"
    end
  else
    raise ArgumentError, "can't parse #{input.class} form data"
  end
end