Sha256: e72688d01e58577e55d5bed022fb3502261bb8e794b52dc60c86c8bd4f78bfce

Contents?: true

Size: 574 Bytes

Versions: 3

Compression:

Stored size: 574 Bytes

Contents

require 'json'

module GoogleAnalytics
  class EventRenderer
    def initialize(event, tracker_id)
      @event = event
      @tracker_id = tracker_id
    end

    def to_s
      "_gaq.push(#{array_to_json([@tracker_id ? "#{@tracker_id}.#{@event.name}" : @event.name, *@event.params])});"
    end

    private

    def array_to_json(array)
      "[" << array.map {|string| string_to_json(string) } .join(',') << "]"
    end

    def string_to_json(string)
      # replace double quotes with single ones
      string.to_json.gsub(/^"/, "'").gsub(/"$/, "'")
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
google-analytics-rails-0.0.3 lib/google-analytics/events/event_renderer.rb
google-analytics-rails-0.0.2 lib/google-analytics/events/event_renderer.rb
google-analytics-rails-0.0.1 lib/google-analytics/events/event_renderer.rb