module RestclientApiBase::ClassMethods

Attributes

base_url[RW]

base_url: the api base url, like: api.example.com, default is ” private_params: your api secret, like: { app_id: ‘xxxx’ }, default is {}

debug[RW]

base_url: the api base url, like: api.example.com, default is ” private_params: your api secret, like: { app_id: ‘xxxx’ }, default is {}

logger_name[RW]

base_url: the api base url, like: api.example.com, default is ” private_params: your api secret, like: { app_id: ‘xxxx’ }, default is {}

private_params[RW]

base_url: the api base url, like: api.example.com, default is ” private_params: your api secret, like: { app_id: ‘xxxx’ }, default is {}

Public Instance Methods

content_type() click to toggle source
# File lib/restclient_api_base.rb, line 94
def content_type
  { content_type: :json, accept: :json }
end
delete(api_url, options = {}) click to toggle source
# File lib/restclient_api_base.rb, line 77
def delete api_url, options = {}
  url    = base_url + api_url
  params = private_params.merge(options)

  puts "method: DELETE, url: #{url}, params: #{params}" if debug

  begin
    res = RestClient.delete(url, params)
  rescue => e
    e.response
  end
end
get(api_url, options = {}) click to toggle source
# File lib/restclient_api_base.rb, line 25
def get api_url, options = {}
  url    = base_url + api_url
  params = private_params.merge(options)

  puts "method: GET, url: #{url}, params: #{params}" if debug

  begin
    res = RestClient.get(url, params: params)
  rescue => e
    e.response
  end
end
patch(api_url, query = {}) click to toggle source
# File lib/restclient_api_base.rb, line 51
def patch api_url, query = {}, headers = {}
  url    = base_url + api_url
  params = private_params.merge(query)

  puts "method: PATCH, url: #{url}, params: #{params}" if debug

  begin
    res = RestClient.patch(url, JSON.generate(params), content_type.merge(headers))
  rescue => e
    e.response
  end
end
post(api_url, query = {}) click to toggle source
# File lib/restclient_api_base.rb, line 38
def post api_url, query = {}, headers = {}
  url    = base_url + api_url
  params = private_params.merge(query)

  puts "method: POST, url: #{url}, params: #{params}" if debug

  begin
    res = RestClient.post(url, JSON.generate(params), content_type.merge(headers))
  rescue => e
    e.response
  end
end
private_params=(params) click to toggle source
# File lib/restclient_api_base.rb, line 102
def private_params= params
  raise 'the private params must be a hash' unless params.is_a? Hash
  @private_params = params
end
put(api_url, query = {}) click to toggle source
# File lib/restclient_api_base.rb, line 64
def put api_url, query = {}, headers = {}
  url    = base_url + api_url
  params = private_params.merge(query)

  puts "method: PUT, url: #{url}, params: #{params}" if debug

  begin
    res = RestClient.put(url, JSON.generate(params), content_type.merge(headers))
  rescue => e
    e.response
  end
end
write_api_log(*args)
Alias for: write_log
write_log(*args) click to toggle source
# File lib/restclient_api_base.rb, line 111
def write_log *args
  logger  = Lumberjack::Logger.new("log/#{logger_name}.log")
  logger.info(args.join('-'))
end
Also aliased as: write_api_log