class Staccato::Subscribers::Page

Public Class Methods

call(*args) click to toggle source
# File lib/staccato/subscribers/page.rb, line 4
def self.call(*args)
  new(args).track!
end
new(args) click to toggle source
# File lib/staccato/subscribers/page.rb, line 8
def initialize(args)
  @args = args
end

Public Instance Methods

get?() click to toggle source
# File lib/staccato/subscribers/page.rb, line 12
def get?
  payload[:method] == "GET"
end
hostname() click to toggle source
# File lib/staccato/subscribers/page.rb, line 20
def hostname
  Rails.configuration.staccato.hostname
end
path() click to toggle source
# File lib/staccato/subscribers/page.rb, line 16
def path
  path_prefix + payload[:path]
end
track!() click to toggle source
# File lib/staccato/subscribers/page.rb, line 24
def track!
  return unless get?
  tracker.pageview(context.merge(path: path, hostname: hostname))
end

Private Instance Methods

context() click to toggle source
# File lib/staccato/subscribers/page.rb, line 42
def context
  @context ||= payload['staccato.context']
end
event() click to toggle source
# File lib/staccato/subscribers/page.rb, line 30
def event
  @event ||= ActiveSupport::Notifications::Event.new(*@args)
end
path_prefix() click to toggle source
# File lib/staccato/subscribers/page.rb, line 46
def path_prefix
  Rails.application.config.staccato.pageview_prefix.to_s
end
payload() click to toggle source
# File lib/staccato/subscribers/page.rb, line 34
def payload
  @payload ||= event.payload
end
tracker() click to toggle source
# File lib/staccato/subscribers/page.rb, line 38
def tracker
  @tracker ||= payload['staccato.tracker']
end