Sha256: f5679f44a492daf59deb4f39fc970934713bfc35169355f869fc2164bac4ad6a

Contents?: true

Size: 368 Bytes

Versions: 1

Compression:

Stored size: 368 Bytes

Contents

module Ahoy
  module Model
    def visitable(name = :visit, **options)
      class_eval do
        belongs_to(name, optional: true, class_name: "Ahoy::Visit", **options)
        before_create :set_ahoy_visit
      end
      class_eval %{
        def set_ahoy_visit
          self.#{name} ||= RequestStore.store[:ahoy].try(:visit)
        end
      }
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
ahoy_matey-2.0.0 lib/ahoy/model.rb