module Her::Model::HTTP::ClassMethods
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)
@example
class User include Her::Model custom_get :active end User.get(:popular) # GET "/users/popular" User.active # GET "/users/active"
Public Instance Methods
request(params={}) { |request, request| ... }
click to toggle source
Main request wrapper around Her::API
. Used to make custom request to the API
.
@private
# File lib/castle-her/model/http.rb, line 55 def request(params={}) request = her_api.request(params) if block_given? yield request[:parsed_data], request[:response] else { :parsed_data => request[:parsed_data], :response => request[:response] } end end
use_api(value = nil)
click to toggle source
Change which API
the model will use to make its HTTP
requests
@example
secondary_api = Her::API.new :url => "https://api.example" do |connection| connection.use Faraday::Request::UrlEncoded connection.use Her::Middleware::DefaultParseJSON end class User include Her::Model use_api secondary_api end
# File lib/castle-her/model/http.rb, line 37 def use_api(value = nil) @_her_use_api ||= begin superclass.use_api if superclass.respond_to?(:use_api) end unless value return (@_her_use_api.respond_to? :call) ? @_her_use_api.call : @_her_use_api end @_her_use_api = value end