Class: Kameleoon::VisitorVisits
- Inherits:
-
DuplicationUnsafeData
- Object
- Data
- DuplicationUnsafeData
- Kameleoon::VisitorVisits
- Defined in:
- lib/kameleoon/data/visitor_visits.rb
Defined Under Namespace
Classes: Visit
Instance Attribute Summary collapse
-
#prev_visits ⇒ Object
readonly
Returns the value of attribute prev_visits.
-
#time_since_previous_visit ⇒ Object
readonly
Returns the value of attribute time_since_previous_visit.
-
#time_started ⇒ Object
readonly
Returns the value of attribute time_started.
-
#visit_number ⇒ Object
readonly
Returns the value of attribute visit_number.
Attributes inherited from Data
Instance Method Summary collapse
- #==(other) ⇒ Object
-
#initialize(prev_visits, visit_number = 0, time_started: 0, time_since_previous_visit: 0) ⇒ VisitorVisits
constructor
A new instance of VisitorVisits.
- #localize(time_started) ⇒ Object
- #obtain_full_post_text_line ⇒ Object
- #to_s ⇒ Object
Methods inherited from Data
#mark_as_sent, #mark_as_transmitting, #mark_as_unsent, #sent, #transmitting, #unsent
Constructor Details
#initialize(prev_visits, visit_number = 0, time_started: 0, time_since_previous_visit: 0) ⇒ VisitorVisits
Returns a new instance of VisitorVisits.
10 11 12 13 14 15 16 17 |
# File 'lib/kameleoon/data/visitor_visits.rb', line 10 def initialize(prev_visits, visit_number = 0, time_started: 0, time_since_previous_visit: 0) super(DataType::VISITOR_VISITS) @visit_number = visit_number >= prev_visits.size ? visit_number : prev_visits.size @prev_visits = prev_visits @prev_visits.freeze @time_started = time_started @time_since_previous_visit = time_since_previous_visit end |
Instance Attribute Details
#prev_visits ⇒ Object (readonly)
Returns the value of attribute prev_visits.
8 9 10 |
# File 'lib/kameleoon/data/visitor_visits.rb', line 8 def prev_visits @prev_visits end |
#time_since_previous_visit ⇒ Object (readonly)
Returns the value of attribute time_since_previous_visit.
8 9 10 |
# File 'lib/kameleoon/data/visitor_visits.rb', line 8 def time_since_previous_visit @time_since_previous_visit end |
#time_started ⇒ Object (readonly)
Returns the value of attribute time_started.
8 9 10 |
# File 'lib/kameleoon/data/visitor_visits.rb', line 8 def time_started @time_started end |
#visit_number ⇒ Object (readonly)
Returns the value of attribute visit_number.
8 9 10 |
# File 'lib/kameleoon/data/visitor_visits.rb', line 8 def visit_number @visit_number end |
Instance Method Details
#==(other) ⇒ Object
55 56 57 58 |
# File 'lib/kameleoon/data/visitor_visits.rb', line 55 def ==(other) other.is_a?(VisitorVisits) && (@visit_number == other.visit_number) && (@prev_visits == other.prev_visits) && (@time_started == other.time_started) && (@time_since_previous_visit == other.time_since_previous_visit) end |
#localize(time_started) ⇒ Object
19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
# File 'lib/kameleoon/data/visitor_visits.rb', line 19 def localize(time_started) time_since_previous_visit = 0 @prev_visits.each do |visit| time_delta = time_started - visit.time_last_activity unless time_delta.negative? time_since_previous_visit = time_delta break end end VisitorVisits.new( @prev_visits, @visit_number, time_started: time_started, time_since_previous_visit: time_since_previous_visit ) end |
#obtain_full_post_text_line ⇒ Object
36 37 38 39 40 41 42 43 44 |
# File 'lib/kameleoon/data/visitor_visits.rb', line 36 def obtain_full_post_text_line params = { eventType: 'staticData', visitNumber: @visit_number, timeSincePreviousVisit: @time_since_previous_visit, nonce: nonce } Network::UriHelper.encode_query(params) end |
#to_s ⇒ Object
46 47 48 49 50 51 52 53 |
# File 'lib/kameleoon/data/visitor_visits.rb', line 46 def to_s 'VisitorVisits{' \ "visit_number:#{@visit_number}," \ "prev_visits:#{@prev_visits.map(&:to_s)}," \ "time_started:#{@time_started}," \ "time_since_previous_visit:#{@time_since_previous_visit}" \ '}' end |