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_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