Simple SDK Builder¶ ↑
A set of libraries that make it easy to build an SDK gem on top of an HTTP web service.
Currently, only RESTful JSON services are supported.
Synopsis:¶ ↑
class MyNotFoundError < StandardError def initialize(response) super "object not found: #{response.body}" end end class MyUnknownError < StandardError; end class MyBaseClass include SimpleSDKBuilder::Base config :service_url => 'https://api.davidmdawson.com' config :timeout => 15000 config :error_handlers => { '404' => MyNotFoundError, '*' => MyUnknownError } end class MyResource < MyBaseClass include SimpleSDKBuilder::Resource simple_sdk_attribute :id, :name, :value class << self def all response = json_request( :path => "/my_resources" ) response.build(MyResource) end def find(id) response = json_request( :path => "/my_resources/#{id}" ) response.build(MyResource) end end def create response = json_request( :path => "/my_resources", :method => :post, :body => self ) self.attributes = response.parsed_body self end def update(attrs) response = json_request( :path => "/my_resources/#{id}", :method => :put, :body => attrs ) self.attributes = response.parsed_body self end def destroy json_request( :path => "/my_resources/#{id}", :method => :delete ) # leaves current object alone end end all_resources = MyResource.all some_resource = MyResource.find(1) new_resource = MyResource.new( :name => 'test', :value => 'this is a test' ).create new_resource.update( :value => 'this test is almost done...' ) new_resource.destroy