Class: Sisense::API::Resource
- Inherits:
-
Object
- Object
- Sisense::API::Resource
show all
- Defined in:
- lib/sisense/api/resource.rb
Direct Known Subclasses
NestedResource, Sisense::Alert, Connection, Dashboard, Dataset, Elasticube, Folder, Group, Role, Share, Translation, User, Widget
Class Method Summary
collapse
Instance Method Summary
collapse
Constructor Details
#initialize(data = {}) ⇒ Resource
Returns a new instance of Resource.
4
5
6
|
# File 'lib/sisense/api/resource.rb', line 4
def initialize(data = {})
convert_to_obj(data)
end
|
Class Method Details
.api_client ⇒ Object
8
9
10
|
# File 'lib/sisense/api/resource.rb', line 8
def self.api_client
@api_client ||= Sisense::API::Client.new
end
|
.class_name ⇒ Object
12
13
14
|
# File 'lib/sisense/api/resource.rb', line 12
def self.class_name
name.split("::")[-1]
end
|
.descendants ⇒ Object
23
24
25
26
27
|
# File 'lib/sisense/api/resource.rb', line 23
def self.descendants
ObjectSpace.each_object(Class).select do |klass|
klass < self && klass != Sisense::API::NestedResource
end
end
|
.resource_base_path(use_legacy_api: false) ⇒ Object
16
17
18
19
20
21
|
# File 'lib/sisense/api/resource.rb', line 16
def self.resource_base_path(use_legacy_api: false)
raise NotImplementedError, "Sisense::API::Resource is an abstract class" if self == Resource
path_base = use_legacy_api ? "/api/" : "/api/v1/"
path_base + self::RESOURCE_NAME
end
|
Instance Method Details
#to_h ⇒ Object
29
30
31
32
33
34
35
|
# File 'lib/sisense/api/resource.rb', line 29
def to_h
instance_variables.each_with_object({}) do |instance_variable, h|
key = instance_variable[1..instance_variable.length]
value = instance_variable_get(instance_variable)
h[key.to_sym] = build_hash_value_from_attribute_value(value)
end
end
|