Class: LimdeskApi::LimdeskObject
- Inherits:
-
RecursiveOpenStruct
- Object
- RecursiveOpenStruct
- LimdeskApi::LimdeskObject
- Defined in:
- lib/limdesk_api/limdesk_object.rb
Overview
This class represents a LimdeskAPI object. Ohter classes, like Ticket, Sale and Client, inherit from it.
Direct Known Subclasses
Class Method Summary collapse
-
.all ⇒ Array<LimdeskApi::Ticket>, ...
Gets all objects of a type from LimdeskAPI.
-
.create(params) ⇒ LimdeskApi::Ticket, ...
Creates an object by LimdeskAPI.
-
.get(id) ⇒ LimdeskApi::Ticket, ...
Gets a Object form LimdeskAPI by it’s ID.
-
.object_symbol ⇒ Symbol
Helper - get class name as a symbol.
Instance Method Summary collapse
-
#delete! ⇒ Boolean
Delete an object by LimdeskAPI.
-
#object_symbol ⇒ Symbol
Helper - get class name as a symbol.
-
#refresh! ⇒ LimdeskApi::Ticket, ...
Force object to refresh itself from LimdeskAPI.
Class Method Details
.all ⇒ Array<LimdeskApi::Ticket>, ...
Gets all objects of a type from LimdeskAPI
36 37 38 |
# File 'lib/limdesk_api/limdesk_object.rb', line 36 def self.all LimdeskApi.get_all(object_symbol).map { |obj| new obj } end |
.create(params) ⇒ LimdeskApi::Ticket, ...
Creates an object by LimdeskAPI
25 26 27 28 |
# File 'lib/limdesk_api/limdesk_object.rb', line 25 def self.create(params) response = LimdeskApi.create(object: object_symbol, params: params) new response end |
.get(id) ⇒ LimdeskApi::Ticket, ...
Gets a Object form LimdeskAPI by it’s ID
12 13 14 15 |
# File 'lib/limdesk_api/limdesk_object.rb', line 12 def self.get(id) response = LimdeskApi.get_one(object: object_symbol, id: id) response ? new(response) : nil end |
.object_symbol ⇒ Symbol
Helper - get class name as a symbol
42 43 44 |
# File 'lib/limdesk_api/limdesk_object.rb', line 42 def self.object_symbol name.downcase.split(':').last.to_sym end |
Instance Method Details
#delete! ⇒ Boolean
Delete an object by LimdeskAPI
59 60 61 |
# File 'lib/limdesk_api/limdesk_object.rb', line 59 def delete! LimdeskApi.delete(id: self['id'], object: object_symbol) end |
#object_symbol ⇒ Symbol
Helper - get class name as a symbol
65 66 67 |
# File 'lib/limdesk_api/limdesk_object.rb', line 65 def object_symbol self.class.name.downcase.split(':').last.to_sym end |
#refresh! ⇒ LimdeskApi::Ticket, ...
Force object to refresh itself from LimdeskAPI
52 53 54 |
# File 'lib/limdesk_api/limdesk_object.rb', line 52 def refresh! marshal_load(self.class.get(self['id']).marshal_dump) end |