class Frenchy::Request

Attributes

extras[RW]
method[RW]
params[RW]
path[RW]
service[RW]

Public Class Methods

new(service, method, path, params={}, extras={}) click to toggle source

Create a new request with given parameters

# File lib/frenchy/request.rb, line 11
def initialize(service, method, path, params={}, extras={})
  path = path.dup
  path.scan(/(:[a-z0-9_+]+)/).flatten.uniq.each do |pat|
    k = pat.sub(":", "")
    begin
      v = params.fetch(pat.sub(":", "")).to_s
    rescue
      raise Frenchy::Error, "The required parameter '#{k}' was not specified."
    end

    params.delete(k)
    path.sub!(pat, CGI.escape(v))
  end

  @service = service
  @method = method
  @path = path
  @params = params
  @extras = extras
end

Public Instance Methods

value() click to toggle source

Issue the request and return the value

# File lib/frenchy/request.rb, line 33
def value
  Frenchy.find_service(@service).send(@method, @path, @params)
end