class RouteNGNClient::Request

Attributes

klass[RW]
method[RW]
params[RW]
path_ext[RW]
path_parts[RW]
request_account_id[RW]
resource_attributes[RW]

Public Class Methods

new(resource_attributes, method, path_parts, path_ext, params = {}, options = {}) click to toggle source
# File lib/routengn_client/request.rb, line 6
def initialize(resource_attributes, method, path_parts, path_ext, params = {}, options = {})
  @resource_attributes, @method, @path_parts, @path_ext, @params, @options = resource_attributes, method, path_parts, path_ext, params, options      
  @request_account_id = @options[:account_id]       
  @klass = @options[:klass]
end

Public Instance Methods

build_params!() click to toggle source
# File lib/routengn_client/request.rb, line 17
def build_params!
  @params[:env] ||= {}
  @params[:env][:account_id] ||= @request_account_id if @request_account_id
end
build_path(parts = [], ext = '.json') click to toggle source
# File lib/routengn_client/request.rb, line 26
def build_path(parts = [], ext = '.json')
  parts.compact!
  parts.map!{ |p| p.to_s }

  "#{File.join(parts)}#{ext}"
end
build_request_options() click to toggle source
# File lib/routengn_client/request.rb, line 22
def build_request_options
  {}.merge!(@resource_attributes[:request_options])
end
execute(connection) click to toggle source
# File lib/routengn_client/request.rb, line 12
def execute(connection)
  self.build_params!
  response = Response.new(self, connection.send(@method, self.build_path(@path_parts, @path_ext), @params, self.build_request_options))
end