module Ahoy::Model

Public Instance Methods

visitable(name = :visit, **options) click to toggle source
# File lib/ahoy/model.rb, line 3
def visitable(name = :visit, **options)
  class_eval do
    belongs_to(name, class_name: "Ahoy::Visit", optional: true, **options)
    before_create :set_ahoy_visit
  end
  class_eval %{
    def set_ahoy_visit
      self.#{name} ||= Ahoy.instance.try(:visit_or_create)
    end
  }
end