Class: OEHClient::Realtime::Event

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

Constant Summary collapse

URI_RT_TRACK_PART =
"one/rt/track"
URI_EVENTS =
"events"
ONE_PARAM_URI =

ONE attributes that are either in the request and/or returned in the response

"uri"
ONE_PARAM_TID =
"tid"
ONE_PARAM_PROPERTIES =
"properties"
ONE_PROPERTIES_NAME =

Property Hash Keys

"name"
ONE_PROPERTIES_VALUE =
"value"

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(attributes = nil) ⇒ Event

constructor that allows the passed Ruby Hash to be mapped to the


44
45
46
47
48
49
50
51
52
53
54
55
56
# File 'lib/oehclient/realtime/event.rb', line 44

def initialize(attributes=nil)

	# set the instance attributes is the parameter hash is created
	if (!attributes.nil? && attributes.kind_of?(Hash))

		@uri 			= attributes[:uri] 															if (attributes.has_key?(:uri))
		@tid 			= attributes[:tid] 															if (attributes.has_key?(:tid))

		@space 			= OEHClient::Config::SpaceManager.instance.get(attributes[:sk])				if (attributes.has_key?(:sk))

	end

end

Instance Attribute Details

#spaceObject

——-[ CLASS ATTRIBUTES ]


19
20
21
# File 'lib/oehclient/realtime/event.rb', line 19

def space
  @space
end

#tidObject

——-[ CLASS ATTRIBUTES ]


19
20
21
# File 'lib/oehclient/realtime/event.rb', line 19

def tid
  @tid
end

#uriObject

——-[ CLASS ATTRIBUTES ]


19
20
21
# File 'lib/oehclient/realtime/event.rb', line 19

def uri
  @uri
end

Class Method Details

.post(site_key, uri, properties = {}) ⇒ Object

class-level wrapper to post a new interaction to the OEH server using either the realtime or offline API for an anonymous or known prospects/customer


26
27
28
29
30
31
32
33
34
35
36
37
# File 'lib/oehclient/realtime/event.rb', line 26

def self.post(site_key, uri, properties={})

	# setup the baseline attributes hash with the site_key and interaction URI, which are the 
	#  minimal values needed for an interaction
	attributes = {:sk => site_key,:uri => uri}

	# create a new interaction using all attributes pass
	new_event = OEHClient::Realtime::Event.new(attributes)
	# Send the interaction for processing and return the instance of the interaction class
	new_event.send(properties)

end

Instance Method Details

#send(properties = {}) ⇒ Object


58
59
60
61
62
63
64
65
66
67
68
69
70
# File 'lib/oehclient/realtime/event.rb', line 58

def send(properties={})

	send_args 			= {:payload => ActiveSupport::JSON.encode(request_data(properties))}
	send_args[:header] 	= properties[:header]  if (!properties.nil? && properties.has_key?(:header))

	# send the POST or PUT methond along with the arguments to the OEHClient class
	map_response(OEHClient.send(OEHClient::Helper::Request::POST_METHOD.to_sym, 
					request_url,
					nil,
					send_args))

	self		
end