Class: Quill::Endpoint::Base
- Inherits:
-
Object
- Object
- Quill::Endpoint::Base
show all
- Defined in:
- lib/quill/endpoint_base.rb
Defined Under Namespace
Classes: InvalidKeys
Instance Attribute Summary collapse
Instance Method Summary
collapse
Constructor Details
#initialize(api, name, definition) ⇒ Base
Returns a new instance of Base.
7
8
9
10
11
12
|
# File 'lib/quill/endpoint_base.rb', line 7
def initialize api, name, definition
@api = api
@name = name
@attributes = definition['attributes'].keys
@readonly_attributes = definition['readonly_attributes'].try(:keys) || []
end
|
Instance Attribute Details
#api ⇒ Object
Returns the value of attribute api.
4
5
6
|
# File 'lib/quill/endpoint_base.rb', line 4
def api
@api
end
|
#name ⇒ Object
Returns the value of attribute name.
4
5
6
|
# File 'lib/quill/endpoint_base.rb', line 4
def name
@name
end
|
Instance Method Details
#check_keys(params) ⇒ Object
35
36
37
38
|
# File 'lib/quill/endpoint_base.rb', line 35
def check_keys params
invalid_keys = params.stringify_keys.keys - @attributes - @readonly_attributes
raise InvalidKeys, "Endpoint ##{name} does not support key(s) #{invalid_keys.join(', ')}" unless invalid_keys.empty?
end
|
#create(params) ⇒ Object
20
21
22
23
24
|
# File 'lib/quill/endpoint_base.rb', line 20
def create params
check_keys(params)
response = api.post(name, params)
Hashie::Mash.new(response.body['object'])
end
|
#find(id, params = {}) ⇒ Object
14
15
16
17
18
|
# File 'lib/quill/endpoint_base.rb', line 14
def find id, params = {}
check_keys(params)
response = api.get([name,id].join('/'), params)
Hashie::Mash.new(response.body['object'])
end
|
#list ⇒ Object
32
33
|
# File 'lib/quill/endpoint_base.rb', line 32
def list
end
|
#update(id, params) ⇒ Object
26
27
28
29
30
|
# File 'lib/quill/endpoint_base.rb', line 26
def update id, params
check_keys(params)
response = api.put([name,id].join('/'), params)
Hashie::Mash.new(response.body['object'])
end
|