class SolveBio::APIResource

Public Class Methods

class_name() click to toggle source
# File lib/solvebio/api_resource.rb, line 9
def self.class_name
    self.name.split('::')[-1]
end
retrieve(id) click to toggle source
# File lib/solvebio/api_resource.rb, line 3
def self.retrieve(id)
    instance = self.new(id)
    instance.refresh()
    instance
end
url() click to toggle source
# File lib/solvebio/api_resource.rb, line 13
def self.url
    if self == APIResource
        raise NotImplementedError.new('APIResource is an abstract class and has no url.')
    end
    "/v1/#{Util.pluralize(Util.camelcase_to_underscore(class_name))}"
end

Public Instance Methods

refresh() click to toggle source
# File lib/solvebio/api_resource.rb, line 27
def refresh
    response = Client.get(url)
    refresh_from(response)
end
url() click to toggle source
# File lib/solvebio/api_resource.rb, line 20
def url
    unless id = self.id
        raise InvalidRequestError.new("Could not determine which URL to request: #{self.class} instance has invalid ID: #{id.inspect}", 'id')
    end
    "#{self.class.url}/#{id}"
end