Sha256: c2d8b91e16ec85839aa31478580d6d81119d90a21b0cd4f41ccdcf7b82607ff1
Contents?: true
Size: 983 Bytes
Versions: 1
Compression:
Stored size: 983 Bytes
Contents
module AbsorbApi class ResourceNotFound < StandardError; end class RouteNotFound < StandardError; end class ValidationError < StandardError; end module Orm extend ActiveSupport::Concern class_methods do def find(id) raise ResourceNotFound if id.blank? response = AbsorbApi::Api.new.connection.get("#{to_s.demodulize.pluralize}/#{id}") if response.status == 404 raise(RouteNotFound) elsif response.status == 400 raise ResourceNotFound else new(response.body) end end def all response = AbsorbApi::Api.new.connection.get(to_s.demodulize.pluralize) if response.status == 404 raise RouteNotFound elsif response.status == 400 raise ResourceNotFound else Collection.new(response.body.map! do |attributes| new(attributes) end, klass: to_s.demodulize) end end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
absorb_api-0.2.0 | lib/absorb_api/orm.rb |