Sha256: 6ce6089c69d56fe635d9b45fc1409993ee7cb7c10b338cbf15b0efb188202966
Contents?: true
Size: 1.16 KB
Versions: 4
Compression:
Stored size: 1.16 KB
Contents
require 'json' module BugherdClient module Resources module V1 class Base DEFAULT_HEADERS = { content_type: :json, accept: :json } # # Return a list of available methods in a Resource # def api_methods self.class.instance_methods(false) end attr_accessor :connection, :options def initialize(conn, opts={}) @connection, @options = conn, opts end def send_request(method="GET", path="", params={}, headers={}) headers = DEFAULT_HEADERS.merge(headers) params.merge!(headers) method_name = method.to_s.downcase self.connection[path].__send__(method_name, params) end [:get, :post, :put, :patch, :delete].each do |method_name| define_method("#{method_name}_request") do |path, params={}| send_request(method_name, path, params) end end def parse_response(response, root_element=nil) if root_element JSON.parse(response)[root_element.to_s] else JSON.parse(response) end end end end end end
Version data entries
4 entries across 4 versions & 1 rubygems