Class: LeanTesting::EntityHandler

Inherits:
Object
  • Object
show all
Defined in:
lib/BaseClass/EntityHandler.rb

Instance Method Summary collapse

Constructor Details

#initialize(origin) ⇒ EntityHandler

Constructs an EntityHandler instance

Keyword arguments: origin Client – Originating client reference



20
21
22
# File 'lib/BaseClass/EntityHandler.rb', line 20

def initialize(origin)
	@origin = origin # Reference to originating Client instance
end

Instance Method Details

#all(filters = nil) ⇒ Object

Function definition for listing all entities. Base function checks for invalid parameters.

Keyword arguments: filters Hash – (optional) Filters to apply to restrict listing. Currently supported: limit, page

Exceptions: SDKInvalidArgException if provided filters param is not a hash. SDKInvalidArgException if invalid filter value found in filters hash.



52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
# File 'lib/BaseClass/EntityHandler.rb', line 52

def all(filters = nil)
	if !filters
		filters = {}
	end

	if !filters.is_a? Hash
		raise SDKInvalidArgException, '`filters` must be a hash'
	else
		filters.each do |k,|
			if !['include', 'limit', 'page'].include? k
				raise SDKInvalidArgException, 'unsupported ' + k + ' for `filters`'
			end
		end
	end

end

#create(fields) ⇒ Object

Function definition for creating a new entity. Base function checks for invalid parameters.

Keyword arguments: fields Hash – Non-empty hash consisting of entity data to send for adding

Exceptions: SDKInvalidArgException if provided fields param is not a hash. SDKInvalidArgException if provided fields param is empty.



34
35
36
37
38
39
40
# File 'lib/BaseClass/EntityHandler.rb', line 34

def create(fields)
	if !fields.is_a? Hash
		raise SDKInvalidArgException, '`fields` must be a hash'
	elsif fields.length.zero?
		raise SDKInvalidArgException, '`fields` must be non-empty'
	end
end

#delete(id) ⇒ Object

Function definition for deleting an existing entity. Base function checks for invalid parameters.

Keyword arguments: id Fixnum – ID field of entity to delete in the entity collection

Exceptions: SDKInvalidArgException if provided id param is not an integer.



93
94
95
96
97
# File 'lib/BaseClass/EntityHandler.rb', line 93

def delete(id)
	if !id.is_a? Fixnum
		raise SDKInvalidArgException, '`id` must be of type Fixnum'
	end
end

#find(id) ⇒ Object

Function definition for retrieving an existing entity. Base function checks for invalid parameters.

Keyword arguments: id Fixnum – ID field to look for in the entity collection

Exceptions: SDKInvalidArgException if provided id param is not an integer.



78
79
80
81
82
# File 'lib/BaseClass/EntityHandler.rb', line 78

def find(id)
	if !id.is_a? Fixnum
		raise SDKInvalidArgException, '`id` must be of type Fixnum'
	end
end

#update(id, fields) ⇒ Object

Function definition for updating an existing entity. Base function checks for invalid parameters.

Keyword arguments: id Fixnum – ID field of entity to update in the entity collection fields Hash – Non-empty dictionary consisting of entity data to send for update

Exceptions: SDKInvalidArgException if provided id param is not an integer. SDKInvalidArgException if provided fields param is not a hash. SDKInvalidArgException if provided fields param is empty.



111
112
113
114
115
116
117
118
119
# File 'lib/BaseClass/EntityHandler.rb', line 111

def update(id, fields)
	if !id.is_a? Fixnum
		raise SDKInvalidArgException, '`id` must be of type Fixnum'
	elsif !fields.is_a? Hash
		raise SDKInvalidArgException, '`fields` must be a hash'
	elsif fields.length.zero?
		raise SDKInvalidArgException, '`fields` must be non-empty'
	end
end