Sha256: 517bfe9e6e5e0fdb378d12126a659e4c678e5bafbb743b9171c30e32876cfe1d
Contents?: true
Size: 378 Bytes
Versions: 2
Compression:
Stored size: 378 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_or_create) end } end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
ahoy_matey-2.0.2 | lib/ahoy/model.rb |
ahoy_matey-2.0.1 | lib/ahoy/model.rb |