Class: Payload::Session

Inherits:
Object
  • Object
show all
Defined in:
lib/payload/arm/session.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(api_key = nil, api_url = nil, api_version = nil, **kwargs) ⇒ Session

Returns a new instance of Session.



8
9
10
11
12
13
14
15
16
17
18
19
# File 'lib/payload/arm/session.rb', line 8

def initialize(api_key = nil, api_url = nil, api_version = nil, **kwargs)
    @api_key = kwargs[:api_key] || api_key
    @api_url = kwargs[:api_url] || api_url || Payload.URL
    @api_version = kwargs[:api_version] || api_version || Payload.api_version

    Payload.constants.each do |c|
        val = Payload.const_get(c)
        if val.is_a?(Class) && val < Payload::ARMObject
            define_singleton_method(c) { Payload::ARMObjectWrapper.new(val, self) }
        end
    end
end

Instance Attribute Details

#api_keyObject

Returns the value of attribute api_key.



6
7
8
# File 'lib/payload/arm/session.rb', line 6

def api_key
  @api_key
end

#api_urlObject

Returns the value of attribute api_url.



6
7
8
# File 'lib/payload/arm/session.rb', line 6

def api_url
  @api_url
end

#api_versionObject

Returns the value of attribute api_version.



6
7
8
# File 'lib/payload/arm/session.rb', line 6

def api_version
  @api_version
end

Instance Method Details

#==(other) ⇒ Object



41
42
43
44
45
46
47
# File 'lib/payload/arm/session.rb', line 41

def ==(other)
    return false unless other.is_a?(Session)

    # Compare the attributes for equality
    api_key == other.api_key &&
    api_url == other.api_url
end

#_get_request(cls = nil) ⇒ Object



21
22
23
# File 'lib/payload/arm/session.rb', line 21

def _get_request(cls = nil)
    return Payload::ARMRequest.new(cls, self)
end

#create(objects) ⇒ Object



29
30
31
# File 'lib/payload/arm/session.rb', line 29

def create(objects)
    return self._get_request().create(objects)
end

#delete(objects) ⇒ Object



37
38
39
# File 'lib/payload/arm/session.rb', line 37

def delete(objects)
    return self._get_request().delete_all(objects)
end

#query(cls) ⇒ Object



25
26
27
# File 'lib/payload/arm/session.rb', line 25

def query(cls)
    return self._get_request(cls)
end

#to_sObject



49
50
51
# File 'lib/payload/arm/session.rb', line 49

def to_s
    "#{api_key} @ #{api_url}"
end

#update(objects) ⇒ Object



33
34
35
# File 'lib/payload/arm/session.rb', line 33

def update(objects)
    return self._get_request().update_all(objects)
end