module ShadowfaxApi

Constants

VERSION

Public Class Methods

cancel_delivery_request(data) click to toggle source
# File lib/shadowfax_api/shadowfax_api.rb, line 29
def cancel_delivery_request(data)
  send_request(url('cancel_order'),method: :put,data: data)
end
check_serviceable_pincode(pincode) click to toggle source
# File lib/shadowfax_api/shadowfax_api.rb, line 21
def check_serviceable_pincode(pincode)
  response = send_request(url('check_serviceable_pincodes',pincode.to_s))
end
create_package(data) click to toggle source
# File lib/shadowfax_api/shadowfax_api.rb, line 33
def create_package(data)
  send_request(url,method: :post,data: data)
end
get_bulk_query(data) click to toggle source
# File lib/shadowfax_api/shadowfax_api.rb, line 37
def get_bulk_query(data)
  send_request(url('bulk_query'),method: :post,data: data)
end
get_delivery_details(awb_number) click to toggle source
# File lib/shadowfax_api/shadowfax_api.rb, line 25
def get_delivery_details(awb_number)
  response = send_request(url(awb_number))
end
get_servicable_pincodes() click to toggle source
# File lib/shadowfax_api/shadowfax_api.rb, line 17
def get_servicable_pincodes
  response = send_request(url('serviceable_pincodes'),respond: 'requests')
end
logger() click to toggle source
# File lib/shadowfax_api/shadowfax_api.rb, line 5
def logger
  @logger ||= begin
    logger= Logger.new(STDOUT)
    logger.level = Logger::WARN
    logger
  end
end
logger=(logger) click to toggle source
# File lib/shadowfax_api/shadowfax_api.rb, line 13
def logger=(logger)
  @logger=logger
end

Private Class Methods

headers() click to toggle source
# File lib/shadowfax_api/shadowfax_api.rb, line 59
def headers
  @headers ||= {'Authorization' => "Token #{Configuration.config[:key]}", 'Content-Type' => 'application/json'}.freeze
end
send_request(url,method: :get,data: nil,respond: nil) click to toggle source
# File lib/shadowfax_api/shadowfax_api.rb, line 47
def send_request(url,method: :get,data: nil,respond: nil)
  options = {headers: headers}
  options[:body] = data.to_json if data
  response = HTTParty.send(method,url,options)
  logger.debug(response.to_s)
  if respond.present?
    response[respond] || Exception.raise_exception(response)
  else
    JSON.parse(response.body)
  end
end
url(*args) click to toggle source
# File lib/shadowfax_api/shadowfax_api.rb, line 42
def url(*args)
  args.size == 0 ? Configuration.config[:url] :
    "#{Configuration.config[:url]}/" + args.join("/")
end