Class: JsonApiClient::Resource
Class Method Summary
collapse
Instance Method Summary
collapse
#as_json, #read_attribute_for_serialization
#attributes=, #method_missing, #persisted?, #query_params, #to_param, #update_attributes
#initialize
Class Method Details
.create(conditions = {}) ⇒ Object
33
34
35
36
37
|
# File 'lib/json_api_client/resource.rb', line 33
def create(conditions = {})
result = run_request(Query::Create.new(self, conditions))
return nil if result.errors.length > 0
result.first
end
|
.find(conditions) ⇒ Object
29
30
31
|
# File 'lib/json_api_client/resource.rb', line 29
def find(conditions)
run_request(Query::Find.new(self, conditions))
end
|
.resource ⇒ Object
base URL for this resource
17
18
19
|
# File 'lib/json_api_client/resource.rb', line 17
def resource
File.join(site, path)
end
|
.resource_name ⇒ Object
25
26
27
|
# File 'lib/json_api_client/resource.rb', line 25
def resource_name
name.demodulize.underscore
end
|
.run_request(query) ⇒ Object
39
40
41
|
# File 'lib/json_api_client/resource.rb', line 39
def run_request(query)
parse(connection.execute(query))
end
|
.table_name ⇒ Object
21
22
23
|
# File 'lib/json_api_client/resource.rb', line 21
def table_name
resource_name.pluralize
end
|
Instance Method Details
#destroy ⇒ Object
60
61
62
|
# File 'lib/json_api_client/resource.rb', line 60
def destroy
run_request(Query::Destroy.new(self.class, attributes))
end
|
#save ⇒ Object
52
53
54
55
56
57
58
|
# File 'lib/json_api_client/resource.rb', line 52
def save
query = persisted? ?
Query::Update.new(self.class, attributes) :
Query::Create.new(self.class, attributes)
run_request(query)
end
|