Class: Aptible::BillForward::UsageSession

Inherits:
Resource
  • Object
show all
Defined in:
lib/aptible/billforward/resource/usage_session.rb

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from Resource

all, basename, by_subscription_id, client, #client, collection_path, #href, #invoice, #serialize, #subscription, #update

Class Method Details

.create(params) ⇒ Object



12
13
14
# File 'lib/aptible/billforward/resource/usage_session.rb', line 12

def self.create(params)
  client.post "#{collection_path}/start", new(client.agent, params)
end

.find(subscriptionID, sessionID) ⇒ Object



6
7
8
9
10
# File 'lib/aptible/billforward/resource/usage_session.rb', line 6

def self.find(subscriptionID, sessionID)
  by_subscription_id(subscriptionID).find do |session|
    session.sessionID == sessionID
  end
end

.generate_session_idObject



20
21
22
# File 'lib/aptible/billforward/resource/usage_session.rb', line 20

def self.generate_session_id
  SecureRandom.uuid
end

.stop(params) ⇒ Object



16
17
18
# File 'lib/aptible/billforward/resource/usage_session.rb', line 16

def self.stop(params)
  client.post "#{collection_path}/stop", new(client.agent, params)
end

Instance Method Details

#create_usage(usage_params) ⇒ Object



24
25
26
27
28
29
# File 'lib/aptible/billforward/resource/usage_session.rb', line 24

def create_usage(usage_params)
  usage = usage_params.merge(
    to_attrs.slice(:organizationID, :subscriptionID, :sessionID, :uom)
  )
  Aptible::BillForward::Usage.create usage
end