diff options
Diffstat (limited to 'app/models/concerns/users/visitable.rb')
-rw-r--r-- | app/models/concerns/users/visitable.rb | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/app/models/concerns/users/visitable.rb b/app/models/concerns/users/visitable.rb new file mode 100644 index 00000000000..cb8e5fdc682 --- /dev/null +++ b/app/models/concerns/users/visitable.rb @@ -0,0 +1,18 @@ +# frozen_string_literal: true + +module Users + module Visitable + extend ActiveSupport::Concern + + included do + def self.visited_around?(entity_id:, user_id:, time:) + visits_around(entity_id: entity_id, user_id: user_id, time: time).any? + end + + def self.visits_around(entity_id:, user_id:, time:) + time = time.to_datetime + where(entity_id: entity_id, user_id: user_id, visited_at: (time - 15.minutes)..(time + 15.minutes)) + end + end + end +end |