class TsubaisoAPI
..
Public Class Methods
new(options = {})
click to toggle source
# File lib/tsubaiso_api.rb, line 6 def initialize(options = {}) @base_url = options[:base_url] || 'https://tsubaiso.net' @access_token = options[:access_token] end
Public Instance Methods
create(resource, params = {})
click to toggle source
# File lib/tsubaiso_api.rb, line 19 def create(resource, params = {}) api_request(url_parse(resource + '/create'), 'POST', params) end
destroy(resource, params = {})
click to toggle source
# File lib/tsubaiso_api.rb, line 27 def destroy(resource, params = {}) api_request(url_parse(resource + '/destroy'), 'POST', params) end
get(url, params = {})
click to toggle source
# File lib/tsubaiso_api.rb, line 31 def get(url, params = {}) api_request(url_parse(url), 'GET', params) end
list(resource, params = {})
click to toggle source
# File lib/tsubaiso_api.rb, line 11 def list(resource, params = {}) api_request(url_parse(resource + '/list'), 'GET', params) end
post(url, params = {})
click to toggle source
# File lib/tsubaiso_api.rb, line 35 def post(url, params = {}) api_request(url_parse(url), 'POST', params) end
show(resource, params = {})
click to toggle source
# File lib/tsubaiso_api.rb, line 15 def show(resource, params = {}) api_request(url_parse(resource + "/show/#{params[:id]}"), 'GET', params) end
update(resource, params = {})
click to toggle source
# File lib/tsubaiso_api.rb, line 23 def update(resource, params = {}) api_request(url_parse(resource + '/update'), 'POST', params) end
Private Instance Methods
api_request(uri, http_verb, params)
click to toggle source
# File lib/tsubaiso_api.rb, line 41 def api_request(uri, http_verb, params) http = Net::HTTP.new(uri.host, uri.port) initheader = { 'Content-Type' => 'application/json', 'Accept' => 'application/json' } http.use_ssl = true if @base_url =~ /^https/ if http_verb == 'GET' request = Net::HTTP::Get.new(uri.path, initheader) else request = Net::HTTP::Post.new(uri.path, initheader) end request['Access-Token'] = @access_token request.body = params.to_json response = http.request(request) if response.body begin { status: response.code, json: JSON.parse(response.body) } rescue response.body end else { status: response.code, json: {}.to_json } end end
url_parse(end_point)
click to toggle source
# File lib/tsubaiso_api.rb, line 64 def url_parse(end_point) URI.parse(@base_url + end_point) end