Class: Kameleoon::PageView

Inherits:
Data
  • Object
show all
Defined in:
lib/kameleoon/data/page_view.rb

Overview

Represents page view data for tracking calls

Instance Attribute Summary collapse

Attributes inherited from Data

#instance, #sent

Instance Method Summary collapse

Methods inherited from Data

encode

Constructor Details

#initialize(url, title, referrers = nil) ⇒ PageView

Returns a new instance of PageView.

Parameters:

  • url (String)

    Url of the page

  • title (String)

    Title of the page

  • referrers (Array) (defaults to: nil)

    Optional field - Referrer ids



14
15
16
17
18
19
# File 'lib/kameleoon/data/page_view.rb', line 14

def initialize(url, title, referrers = nil)
  super(DataType::PAGE_VIEW)
  @url = url || ''
  @title = title || ''
  @referrers = referrers.instance_of?(Integer) ? [referrers] : referrers
end

Instance Attribute Details

#referrerObject (readonly)

Returns the value of attribute referrer.



9
10
11
# File 'lib/kameleoon/data/page_view.rb', line 9

def referrer
  @referrer
end

#titleObject (readonly)

Returns the value of attribute title.



9
10
11
# File 'lib/kameleoon/data/page_view.rb', line 9

def title
  @title
end

#urlObject (readonly)

Returns the value of attribute url.



9
10
11
# File 'lib/kameleoon/data/page_view.rb', line 9

def url
  @url
end

Instance Method Details

#obtain_full_post_text_lineObject



21
22
23
24
25
26
27
28
29
# File 'lib/kameleoon/data/page_view.rb', line 21

def obtain_full_post_text_line
  nonce = Kameleoon::Utils.generate_random_string(NONCE_LENGTH)
  referrer_text = if !@referrers.nil? && !@referrers.empty?
                    "&referrersIndices=%5B#{@referrers.each(&:to_s).join('%2C')}%5D"
                  else
                    ''
                  end
  "eventType=page&href=#{self.class.encode(@url)}&title=#{self.class.encode(@title)}#{referrer_text}&nonce=#{nonce}"
end