Class: ICWS::Interactions::Interaction
- Inherits:
-
Object
- Object
- ICWS::Interactions::Interaction
- Defined in:
- lib/icws/interactions/interaction.rb
Instance Attribute Summary collapse
-
#id ⇒ Object
readonly
Returns the value of attribute id.
Instance Method Summary collapse
- #disconnect ⇒ Object
- #get_attribute(attributeName) ⇒ Object
- #get_attributes(attributeArray) ⇒ Object
-
#initialize(interactionDetails, connection) ⇒ Interaction
constructor
A new instance of Interaction.
- #is_connected? ⇒ Boolean
- #is_disconnected? ⇒ Boolean
- #set_attribute(name, value) ⇒ Object
- #set_attributes(attributes) ⇒ Object
- #update_attributes(newAttributes) ⇒ Object
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
#id ⇒ Object (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
#disconnect ⇒ Object
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
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
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 |