Method: WebApiMethod#run

Defined in:
lib/web_api/web_api_method.rb

#run(extension, type, data, header, dumper, parser, &block) ⇒ Object



54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
# File 'lib/web_api/web_api_method.rb', line 54

def run(extension, type, data, header, dumper, parser, &block)
  request        = CRStruct::Open.new
  request.url    = @target+extension
  request.type   = type || @type
  request.data   = @data.merge(data)
  request.header = @header.merge(header)
  request.dumper = dumper || @dumper

  parser ||= @parser
  block  ||= @block

  uri_parse(request)
  block.call(request) if block

  body, content = http_response_body(request)
  parser = parser[content]   if parser.is_a? Hash
  body   = parser.call(body) if parser and parser!=:none
  return body
end