Class: SignalWire::Relay::RecordEvent

Inherits:
RelayEvent
  • Object
show all
Defined in:
lib/signalwire/relay/relay_event.rb

Overview

calling.call.record

Instance Attribute Summary collapse

Attributes inherited from RelayEvent

#call_id, #event_type, #params, #timestamp

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(control_id: '', state: '', url: '', duration: 0.0, size: 0, record: {}, **base) ⇒ RecordEvent

Returns a new instance of RecordEvent.



133
134
135
136
137
138
139
140
141
# File 'lib/signalwire/relay/relay_event.rb', line 133

def initialize(control_id: '', state: '', url: '', duration: 0.0, size: 0, record: {}, **base)
  super(**base)
  @control_id = control_id
  @state      = state
  @url        = url
  @duration   = duration
  @size       = size
  @record     = record
end

Instance Attribute Details

#control_idObject (readonly)

Returns the value of attribute control_id.



115
116
117
# File 'lib/signalwire/relay/relay_event.rb', line 115

def control_id
  @control_id
end

#durationObject (readonly)

Returns the value of attribute duration.



115
116
117
# File 'lib/signalwire/relay/relay_event.rb', line 115

def duration
  @duration
end

#recordObject (readonly)

Returns the value of attribute record.



115
116
117
# File 'lib/signalwire/relay/relay_event.rb', line 115

def record
  @record
end

#sizeObject (readonly)

Returns the value of attribute size.



115
116
117
# File 'lib/signalwire/relay/relay_event.rb', line 115

def size
  @size
end

#stateObject (readonly)

Returns the value of attribute state.



115
116
117
# File 'lib/signalwire/relay/relay_event.rb', line 115

def state
  @state
end

#urlObject (readonly)

Returns the value of attribute url.



115
116
117
# File 'lib/signalwire/relay/relay_event.rb', line 115

def url
  @url
end

Class Method Details

.from_payload(payload) ⇒ Object



117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
# File 'lib/signalwire/relay/relay_event.rb', line 117

def self.from_payload(payload)
  base = RelayEvent.from_payload(payload)
  p = base.params
  rec = p['record'] || {}
  new(
    event_type: base.event_type, params: base.params,
    call_id: base.call_id, timestamp: base.timestamp,
    control_id: p['control_id'] || '',
    state:      p['state'] || '',
    url:        rec['url'] || p['url'] || '',
    duration:   rec['duration'] || p['duration'] || 0.0,
    size:       rec['size'] || p['size'] || 0,
    record:     rec
  )
end