class RemoteResource::Base

the base class for defining an api.

Attributes

scope[R]

Public Class Methods

new(**args) click to toggle source
# File lib/remote_resource/base.rb, line 16
def initialize(**args)
  @scope = args
  create_attributes(self)
  AttributeMethodAttacher.new(self.class).attach_to(self.singleton_class)
end

Public Instance Methods

client() click to toggle source
# File lib/remote_resource/base.rb, line 22
def client
  self.class.client_proc.call(@scope)
end
resource(name = :default, resource_client = nil) click to toggle source
# File lib/remote_resource/base.rb, line 26
def resource(name = :default, resource_client = nil)
  if (attr_resource = self.class.resources[name])
    attr_resource.call(resource_client || client, @scope)
  else
    msg = "there is no resource named `#{name}` on #{self.class.name}."
    fail ArgumentError, msg
  end
end