Module: Resteze::ApiResource
Defined Under Namespace
Modules: ClassMethods
Instance Method Summary collapse
- #initialize(id = nil, values: {}) ⇒ Object
- #refresh ⇒ Object
- #resource_path ⇒ Object
- #retrieve_headers ⇒ Object
- #retrieve_method ⇒ Object
- #retrieve_params ⇒ Object
Instance Method Details
#initialize(id = nil, values: {}) ⇒ Object
6 7 8 9 10 |
# File 'lib/resteze/api_resource.rb', line 6 def initialize(id = nil, values: {}) super(values) id, @retrieve_params = util.normalize_id(id) self.id = id if self.class.property?(:id) end |
#refresh ⇒ Object
33 34 35 36 37 38 39 40 41 42 |
# File 'lib/resteze/api_resource.rb', line 33 def refresh resp = request( retrieve_method, resource_path, params: retrieve_params, headers: retrieve_headers ) initialize_from(resp.data) end |
#resource_path ⇒ Object
12 13 14 15 16 17 18 19 |
# File 'lib/resteze/api_resource.rb', line 12 def resource_path unless id.present? raise api_module::InvalidRequestError.new("Could not determine which PATH to request: #{self.class} instance has " \ "invalid ID: #{id.inspect}", "id") end self.class.resource_path(id) end |
#retrieve_headers ⇒ Object
29 30 31 |
# File 'lib/resteze/api_resource.rb', line 29 def retrieve_headers {} end |
#retrieve_method ⇒ Object
21 22 23 |
# File 'lib/resteze/api_resource.rb', line 21 def retrieve_method :get end |
#retrieve_params ⇒ Object
25 26 27 |
# File 'lib/resteze/api_resource.rb', line 25 def retrieve_params @retrieve_params || {} end |