Class: ICWS::Interactions::Interaction

Inherits:
Object
  • Object
show all
Defined in:
lib/icws/interactions/interaction.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(interactionDetails, connection) ⇒ Interaction

Returns a new instance of Interaction.



10
11
12
13
14
15
16
17
# File 'lib/icws/interactions/interaction.rb', line 10

def initialize(interactionDetails, connection)
    if( connection != nil)
        @client = ICWS::Client.new connection
    end

    @id = interactionDetails["interactionId"]
    @attributes = interactionDetails["attributes"]
end

Instance Attribute Details

#idObject (readonly)

Returns the value of attribute id.



6
7
8
# File 'lib/icws/interactions/interaction.rb', line 6

def id
  @id
end

Instance Method Details

#disconnectObject



64
65
66
# File 'lib/icws/interactions/interaction.rb', line 64

def disconnect
    @client.post "/interactions/#@id/disconnect", nil
end

#get_attribute(attributeName) ⇒ Object



29
30
31
32
33
34
35
36
37
38
39
40
# File 'lib/icws/interactions/interaction.rb', line 29

def get_attribute(attributeName)

    if @attributes.key? attributeName
        return @attributes[attributeName]
    end

    uri = "/interactions/#@id?select=" + attributeName

    attributeResult = @client.get uri

    return attributeResult["attributes"][attributeName]
end

#get_attributes(attributeArray) ⇒ Object



23
24
25
26
27
# File 'lib/icws/interactions/interaction.rb', line 23

def get_attributes(attributeArray)
    attrs = attributeArray.join (",")
    attributes = @client.get "/interactions/#@id?select=" + attrs
    return attributes["attributes"]
end

#is_connected?Boolean

Returns:

  • (Boolean)


54
55
56
57
# File 'lib/icws/interactions/interaction.rb', line 54

def is_connected?
    state = get_attribute("Eic_State")
    return state == 'C'
end

#is_disconnected?Boolean

Returns:

  • (Boolean)


59
60
61
62
# File 'lib/icws/interactions/interaction.rb', line 59

def is_disconnected?
    state = get_attribute("Eic_State")
    return state == 'E' || state == "I"
end

#set_attribute(name, value) ⇒ Object



48
49
50
51
52
# File 'lib/icws/interactions/interaction.rb', line 48

def set_attribute(name, value)
    attrs = {}
    attrs[name] = value
    return set_attributes attrs
end

#set_attributes(attributes) ⇒ Object



42
43
44
45
46
# File 'lib/icws/interactions/interaction.rb', line 42

def set_attributes(attributes)
    body = {"attributes" => attributes}
    @client.post "/interactions/#@id", body

end

#update_attributes(newAttributes) ⇒ Object



19
20
21
# File 'lib/icws/interactions/interaction.rb', line 19

def update_attributes(newAttributes)
    @attributes.merge! newAttributes
end