class GAEvents

collection of events

Constants

BULK_URI
COLLECT_URI

Attributes

api_key[RW]

Public Class Methods

send_event(event) click to toggle source
# File lib/gaevents.rb, line 13
def send_event(event)
         resource = RestClient::Resource.new COLLECT_URI
         resource.post(track_body([event]), content_type: 'text/plain')
end
track(events) click to toggle source

takes Array of Event as parameter

# File lib/gaevents.rb, line 19
def track(events)
         # as per GA: A maximum of 20 hits can be specified per request
         # https://developers.google.com/analytics/devguides/collection/protocol/v1/devguide#batch
         res = []
         events.each_slice(20) do |events_slice|
                 resource = RestClient::Resource.new BULK_URI
                 res << resource.post(track_body(events_slice.compact), content_type: 'text/plain')
        end
         res
end
track_body(*events) click to toggle source
# File lib/gaevents.rb, line 30
def track_body(*events)
         events.flatten.map(&:payload).join("\n")
end