Class: Connfu::Provisioning::Dtmf

Inherits:
Object
  • Object
show all
Defined in:
lib/connfu/provisioning/dtmf.rb

Overview

connFu Dtmf press key (belongs to a Voice channel)

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(voice, tone, message = "") ⇒ Dtmf

Returns a new instance of Dtmf.

Parameters:

  • voice

    voice channel identifier

  • tone
  • message (defaults to: "")


22
23
24
25
26
# File 'lib/connfu/provisioning/dtmf.rb', line 22

def initialize(voice, tone, message = "")
  @voice = voice
  @tone = tone
  @message = message
end

Instance Attribute Details

#messageObject

message



14
15
16
# File 'lib/connfu/provisioning/dtmf.rb', line 14

def message
  @message
end

#toneObject

tone



11
12
13
# File 'lib/connfu/provisioning/dtmf.rb', line 11

def tone
  @tone
end

#voiceObject (readonly)

voice channel unique identifier



17
18
19
# File 'lib/connfu/provisioning/dtmf.rb', line 17

def voice
  @voice
end

Class Method Details

.unmarshal(voice, data) ⇒ Object

Creates a Dtmf object using the raw data from the provisioning API

Parameters:

  • voice

    channel unique identifier

  • data

    Hash containing the raw data



45
46
47
48
49
50
51
# File 'lib/connfu/provisioning/dtmf.rb', line 45

def self.unmarshal(voice, data)
  if data.is_a?(Array)
    data.map{|item| Dtmf.new(voice, item["tone"], item["message"])}
  else
    Dtmf.new(voice, data["tone"], data["message"])
  end
end

Instance Method Details

#[](value) ⇒ Object

Hash way to retrieve attributes



29
30
31
# File 'lib/connfu/provisioning/dtmf.rb', line 29

def [](value)
  self.respond_to?(value.to_sym) ? self.send(value.to_sym) : nil
end

#to_hashObject



33
34
35
# File 'lib/connfu/provisioning/dtmf.rb', line 33

def to_hash
  {"tone" => tone, "message" => message}
end

#to_sObject



37
38
39
# File 'lib/connfu/provisioning/dtmf.rb', line 37

def to_s
  "#{self.class.to_s}: #{to_hash}"
end