Class: Clowk::SDK::Resource
- Inherits:
-
Object
- Object
- Clowk::SDK::Resource
- Defined in:
- lib/clowk/sdk/resource.rb
Direct Known Subclasses
Class Method Summary collapse
Instance Method Summary collapse
-
#destroy(id) ⇒ Hash
Usage client.destroy(“123”).
-
#find(id) ⇒ Hash
Usage client.find(“123”).
-
#initialize(client) ⇒ Resource
constructor
A new instance of Resource.
-
#list ⇒ Array<Hash>
Usage client.list.
- #search(raw_query = nil, **filters) ⇒ Clowk::Http::Response
-
#show(id) ⇒ Hash
Usage client.show(“123”).
Constructor Details
#initialize(client) ⇒ Resource
Returns a new instance of Resource.
12 13 14 |
# File 'lib/clowk/sdk/resource.rb', line 12 def initialize(client) @client = client end |
Class Method Details
.resource_path ⇒ Object
8 9 10 |
# File 'lib/clowk/sdk/resource.rb', line 8 def self.resource_path raise NotImplementedError, "resource_path must be implemented" end |
Instance Method Details
#destroy(id) ⇒ Hash
Usage client.destroy(“123”)
59 60 61 |
# File 'lib/clowk/sdk/resource.rb', line 59 def destroy(id) client.delete("#{self.class.resource_path}/#{id}") end |
#find(id) ⇒ Hash
Usage client.find(“123”)
45 46 47 |
# File 'lib/clowk/sdk/resource.rb', line 45 def find(id) client.get("#{self.class.resource_path}/#{id}") end |
#list ⇒ Array<Hash>
Usage client.list
19 20 21 |
# File 'lib/clowk/sdk/resource.rb', line 19 def list client.get(self.class.resource_path) end |
#search(raw_query = nil, **filters) ⇒ Clowk::Http::Response
32 33 34 35 36 37 38 39 40 |
# File 'lib/clowk/sdk/resource.rb', line 32 def search(raw_query = nil, **filters) query = if raw_query.is_a?(String) raw_query else filters.map { |k, v| "#{k}:#{v}" }.join(" ") end client.get("#{self.class.resource_path}/search?query=#{ERB::Util.url_encode(query)}") end |
#show(id) ⇒ Hash
Usage client.show(“123”)
52 53 54 |
# File 'lib/clowk/sdk/resource.rb', line 52 def show(id) client.get("#{self.class.resource_path}/#{id}") end |