Method: Outbound::Client#track

Defined in:
lib/outbound.rb

#track(user_id, event, properties = {}, user_info = {}, timestamp = Time.now.to_i) ⇒ Object



198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
# File 'lib/outbound.rb', line 198

def track(user_id, event, properties={}, ={}, timestamp=Time.now.to_i)
  unless user_id.is_a? String or user_id.is_a? Numeric
    res = Result.new Outbound::ERROR_USER_ID, false
    @logger.error res.error
    return res
  end

  unless event.is_a? String
    res = Result.new Outbound::ERROR_EVENT_NAME, false
    @logger.error res.error
    return res
  end

  data = {:user_id => user_id, :event => event}

  if properties.is_a? Hash
    if properties.length > 0
      data[:properties] = properties
    end
  else
    @logger.error "Could not use event properties (#{properties}) given to track call."
  end

  data[:timestamp] = timestamp
  puts timestamp

  return post(@api_key, '/track', data)
end