Files
fizzy/app/models/current.rb
T
2025-12-10 09:23:52 +01:00

31 lines
634 B
Ruby

class Current < ActiveSupport::CurrentAttributes
attribute :session, :user, :identity, :account
attribute :http_method, :request_id, :user_agent, :ip_address, :referrer
delegate :identity, to: :session, allow_nil: true
def session=(value)
super(value)
if value.present? && account.present?
self.identity = session.identity
end
end
def identity=(identity)
super(identity)
if identity.present?
self.user = identity.users.find_by(account: account)
end
end
def with_account(value, &)
with(account: value, &)
end
def without_account(&)
with(account: nil, &)
end
end