Class: Kameleoon::Targeting::VisitNumberTodayCondition Private

Inherits:
NumberCondition show all
Defined in:
lib/kameleoon/targeting/conditions/visit_number_today_condition.rb

Overview

This class is part of a private API. You should avoid using this class if possible, as it may be removed or be changed in the future.

API:

  • private

Instance Attribute Summary

Attributes inherited from Condition

#id, #include, #type

Instance Method Summary collapse

Constructor Details

#initialize(json_condition) ⇒ VisitNumberTodayCondition

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Returns a new instance of VisitNumberTodayCondition.

API:

  • private



10
11
12
13
# File 'lib/kameleoon/targeting/conditions/visit_number_today_condition.rb', line 10

def initialize(json_condition)
  visit_count = json_condition['visitCount']
  super(json_condition, visit_count)
end

Instance Method Details

#check(data) ⇒ Object

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

API:

  • private



15
16
17
18
19
20
21
22
23
24
25
# File 'lib/kameleoon/targeting/conditions/visit_number_today_condition.rb', line 15

def check(data)
  return false unless VisitorVisits.visitor_visits?(data) && !@condition_value.nil?

  number_of_visits_today = 0
  start_of_day = (Time.new.to_date.to_time.to_f * 1000).to_i # ... * 1000 to convert seconds to milliseconds
  for timestamp in VisitorVisits.get_previous_visit_timestamps(data)
    break if timestamp < start_of_day
    number_of_visits_today += 1
  end
  check_targeting(number_of_visits_today + 1) # +1 for current visit
end