Class: OTX::Events

Inherits:
Base
  • Object
show all
Defined in:
lib/otx_ruby/events.rb

Overview

Besides receiving the pulse information, it is possible to return details of events that have occured in the OTX system and affect your account. This class provides a wrapper around this functionality.

Instance Method Summary collapse

Methods inherited from Base

#get, #initialize

Constructor Details

This class inherits a constructor from OTX::Base

Instance Method Details

#get_all(limit = 20) ⇒ Array

Get all events from the API, get all events in chunks defined by limit

Parameters:

  • limit (Integer) (defaults to: 20)

    Size of chunk of data to be Returned (default = 20)

Returns:

  • (Array)

    Array of OTX::Event records



14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# File 'lib/otx_ruby/events.rb', line 14

def get_all(limit=20)
  uri = '/api/v1/pulses/events'
  params = {limit: limit}
  events = []
  begin
    json_data = get(uri, params)
    page = json_data['next']

    params = URI::decode_www_form(URI(page).query).to_h unless page.nil?

    events += json_data['results']
  end while !page.nil?

  results = []
  events.each do |event|
    results << OTX::Event.new(event)
  end

  return results
end

#get_since(timestamp, limit = 20) ⇒ Array

Get all events from the API, get all events in chunks defined by limit and since timestamp

Parameters:

  • timestamp (Time)

    Timestamp of point in time to get records since in ISO Format

  • limit (Integer) (defaults to: 20)

    Size of chunk of data to be Returned (default = 20)

Returns:

  • (Array)

    Array of OTX::Event records



43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
# File 'lib/otx_ruby/events.rb', line 43

def get_since(timestamp, limit=20)
  uri = '/api/v1/pulses/events'
  params = {limit: limit, since: timestamp}
  events = []
  begin
    json_data = get(uri, params)
    page = json_data['next']

    params = URI::decode_www_form(URI(page).query).to_h unless page.nil?

    events += json_data['results']
  end while !page.nil?

  results = []
  events.each do |event|
    results << OTX::Event.new(event)
  end

  return results
end