Module: Restorm::Model::HTTP::ClassMethods

Defined in:
lib/restorm/model/http.rb

Overview

For each HTTP method, define these class methods:

  • <method>(path, params)

  • <method>_raw(path, params, &block)

  • <method>_collection(path, params, &block)

  • <method>_resource(path, params, &block)

  • custom_<method>(*paths)

Examples:

class User
  include Restorm::Model
  custom_get :active
end

User.get(:popular) # GET "/users/popular"
User.active # GET "/users/active"

Instance Method Summary collapse

Instance Method Details

#use_api(value = nil) ⇒ Object Also known as: restorm_api, uses_api

Change which API the model will use to make its HTTP requests

Examples:

secondary_api = Restorm::API.new :url => "https://api.example" do |connection|
  connection.use Faraday::Request::UrlEncoded
  connection.use Restorm::Middleware::DefaultParseJSON
end

class User
  include Restorm::Model
  use_api secondary_api
end


37
38
39
40
41
42
43
44
45
46
47
# File 'lib/restorm/model/http.rb', line 37

def use_api(value = nil)
  @_restorm_use_api ||= begin
    superclass.use_api if superclass.respond_to?(:use_api)
  end

  unless value
    return (@_restorm_use_api.respond_to? :call) ? @_restorm_use_api.call : @_restorm_use_api
  end

  @_restorm_use_api = value
end