Class: ProcessOut::Event

Inherits:
Object
  • Object
show all
Defined in:
lib/processout/event.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(client, data = {}) ⇒ Event

Initializes the Event object Params:

client

ProcessOut client instance

data

data that can be used to fill the object



55
56
57
58
59
60
61
62
63
64
65
# File 'lib/processout/event.rb', line 55

def initialize(client, data = {})
  @client = client

  @id = data.fetch(:id, "")
  @project = data.fetch(:project, nil)
  @name = data.fetch(:name, "")
  @data = data.fetch(:data, nil)
  @sandbox = data.fetch(:sandbox, false)
  @fired_at = data.fetch(:fired_at, "")
  
end

Instance Attribute Details

#dataObject

Returns the value of attribute data.



13
14
15
# File 'lib/processout/event.rb', line 13

def data
  @data
end

#fired_atObject

Returns the value of attribute fired_at.



15
16
17
# File 'lib/processout/event.rb', line 15

def fired_at
  @fired_at
end

#idObject

Returns the value of attribute id.



10
11
12
# File 'lib/processout/event.rb', line 10

def id
  @id
end

#nameObject

Returns the value of attribute name.



12
13
14
# File 'lib/processout/event.rb', line 12

def name
  @name
end

#projectObject

Returns the value of attribute project.



11
12
13
# File 'lib/processout/event.rb', line 11

def project
  @project
end

#sandboxObject

Returns the value of attribute sandbox.



14
15
16
# File 'lib/processout/event.rb', line 14

def sandbox
  @sandbox
end

Instance Method Details

#all(options = {}) ⇒ Object

Get all the events. Params:

options

Hash of options



129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
# File 'lib/processout/event.rb', line 129

def all(options = {})
  request = Request.new(@client)
  path    = "/events"
  data    = {

  }

  response = Response.new(request.get(path, data, options))
  return_values = Array.new
  
  a    = Array.new
  body = response.body
  for v in body['events']
    tmp = Event.new(@client)
    tmp.fill_with_data(v)
    a.push(tmp)
  end

  return_values.push(a)
  

  
  return_values[0]
end

#fetch_webhooks(options = {}) ⇒ Object

Get all the webhooks of the event. Params:

options

Hash of options



101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
# File 'lib/processout/event.rb', line 101

def fetch_webhooks(options = {})
  request = Request.new(@client)
  path    = "/events/" + CGI.escape(@id) + "/webhooks"
  data    = {

  }

  response = Response.new(request.get(path, data, options))
  return_values = Array.new
  
  a    = Array.new
  body = response.body
  for v in body['webhooks']
    tmp = Webhook.new(@client)
    tmp.fill_with_data(v)
    a.push(tmp)
  end

  return_values.push(a)
  

  
  return_values[0]
end

#fill_with_data(data) ⇒ Object

Fills the object with data coming from the API Params:

data

Hash of data coming from the API



75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
# File 'lib/processout/event.rb', line 75

def fill_with_data(data)
  if data.include? "id"
    self.id = data["id"]
  end
  if data.include? "project"
    self.project = data["project"]
  end
  if data.include? "name"
    self.name = data["name"]
  end
  if data.include? "data"
    self.data = data["data"]
  end
  if data.include? "sandbox"
    self.sandbox = data["sandbox"]
  end
  if data.include? "fired_at"
    self.fired_at = data["fired_at"]
  end
  
  self
end

#find(event_id, options = {}) ⇒ Object

Find an event by its ID. Params:

event_id

ID of the event

options

Hash of options



158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
# File 'lib/processout/event.rb', line 158

def find(event_id, options = {})
  request = Request.new(@client)
  path    = "/events/" + CGI.escape(event_id) + ""
  data    = {

  }

  response = Response.new(request.get(path, data, options))
  return_values = Array.new
  
  body = response.body
  body = body["event"]
  
  
  obj = Event.new(@client)
  return_values.push(obj.fill_with_data(body))
  

  
  return_values[0]
end

#new(data = {}) ⇒ Object

Create a new Event using the current client



68
69
70
# File 'lib/processout/event.rb', line 68

def new(data = {})
  Event.new(@client, data)
end