Sha256: 31ad04b4c5722fdad7b26a0db9a97aa3b777cfa32c6d45d2db1be24189b35dfa
Contents?: true
Size: 877 Bytes
Versions: 5
Compression:
Stored size: 877 Bytes
Contents
require 'ostruct' require 'httparty' module SenseiApi class Base class <<self def find_by(params) response = HTTParty.get(url, query: params.compact, format: :json) JSON.parse(response.body, object_class: OpenStruct) end def create(params) response = HTTParty.post(url, body: params.compact.reject { |key, _| key == :id }, format: :json) JSON.parse(response.body, object_class: OpenStruct) end def update(params) response = HTTParty.put(url, body: params.compact, format: :json) JSON.parse(response.body, object_class: OpenStruct) end def delete(params) response = HTTParty.delete(url, body: params.compact, format: :json) JSON.parse(response.body, object_class: OpenStruct) end def url raise NotImplementedError end end end end
Version data entries
5 entries across 5 versions & 1 rubygems