class GLPI::SDK::Resource
Public Class Methods
all(session, **params)
click to toggle source
# File lib/glpi/sdk/resource.rb, line 35 def self.all(session, **params) item_type = params.key?(:item_type) ? params.delete(:item_type) : type_name endpoint = "/#{item_type}" endpoint += "?#{HashConverter.to_query(params)}" if params response = session.request :get, endpoint response.map { |item| new(item) } end
Also aliased as: where
create(session, attributes = {})
click to toggle source
# File lib/glpi/sdk/resource.rb, line 8 def self.create(session, attributes = {}) item_type = attributes.key?(:item_type) ? attributes.delete(:item_type) : type_name payload = { input: attributes }.to_json response = session.request :post, "/#{item_type}", body: payload find(session, response['id'], item_type) end
destroy(session, id, item_type = nil)
click to toggle source
# File lib/glpi/sdk/resource.rb, line 22 def self.destroy(session, id, item_type = nil) item_type ||= type_name payload = { force_purge: true }.to_json response = session.request :delete, "/#{item_type}/#{id}", body: payload response[0][id.to_s] end
find(session, id, item_type = nil)
click to toggle source
# File lib/glpi/sdk/resource.rb, line 29 def self.find(session, id, item_type = nil) item_type ||= type_name response = session.request :get, "/#{item_type}/#{id}" new(response) end
new(attributes = {})
click to toggle source
# File lib/glpi/sdk/resource.rb, line 4 def initialize(attributes = {}) @attributes = attributes end
type_name()
click to toggle source
# File lib/glpi/sdk/resource.rb, line 47 def self.type_name name.split('::').last end
update(session, id, attributes = {})
click to toggle source
# File lib/glpi/sdk/resource.rb, line 15 def self.update(session, id, attributes = {}) item_type = attributes.key?(:item_type) ? attributes.delete(:item_type) : type_name payload = { input: attributes }.to_json session.request :put, "/#{item_type}/#{id}", body: payload find(session, id, item_type) end
Private Instance Methods
method_missing(name, *args, &block)
click to toggle source
Calls superclass method
# File lib/glpi/sdk/resource.rb, line 53 def method_missing(name, *args, &block) @attributes.key?(name.to_s) ? @attributes[name.to_s] : super end
respond_to_missing?(name, include_private = false)
click to toggle source
# File lib/glpi/sdk/resource.rb, line 57 def respond_to_missing?(name, include_private = false) @attributes.key?(name.to_s) end