Sha256: 005c4ad366d1eddbb10f9b600618ef5efc7a211780e1e2f5f9931dfbf16200f4

Contents?: true

Size: 782 Bytes

Versions: 8

Compression:

Stored size: 782 Bytes

Contents

class Rack::Tracker::GoSquared < Rack::Tracker::Handler
  class VisitorName < OpenStruct
    def write
      ['set', 'visitorName', self.name].to_json.gsub(/\[|\]/, '')
    end
  end

  class VisitorInfo < OpenStruct
    def write
      ['set', 'visitor', to_h].to_json.gsub(/\[|\]/, '')
    end
  end

  def tracker
    options[:tracker]
  end

  def trackers
    options[:trackers]
  end

  def render
    Tilt.new( File.join( File.dirname(__FILE__), 'template', 'go_squared.erb') ).render(self)
  end

  def visitor_name
    events.select{|e| e.kind_of?(VisitorName) }.first
  end

  def visitor_info
    events.select{|e| e.kind_of?(VisitorInfo) }.first
  end

  def self.track(name, *event)
    { name.to_s => [const_get(event.first.to_s.classify).new(event.last)] }
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
rack-tracker-0.3.0 lib/rack/tracker/go_squared/go_squared.rb
rack-tracker-0.2.6 lib/rack/tracker/go_squared/go_squared.rb
rack-tracker-0.2.5 lib/rack/tracker/go_squared/go_squared.rb
rack-tracker-0.2.4 lib/rack/tracker/go_squared/go_squared.rb
rack-tracker-0.2.3 lib/rack/tracker/go_squared/go_squared.rb
rack-tracker-0.2.2 lib/rack/tracker/go_squared/go_squared.rb
rack-tracker-0.2.1 lib/rack/tracker/go_squared/go_squared.rb
rack-tracker-0.2.0 lib/rack/tracker/go_squared/go_squared.rb