Sha256: 6cb76b954c90b1e31227aa07263f8aa3edc3c857d09250eaa6254f272f5ff560
Contents?: true
Size: 878 Bytes
Versions: 3
Compression:
Stored size: 878 Bytes
Contents
# frozen_string_literal: true module DemoMode class Session < ActiveRecord::Base attribute :variant, default: :default validates :persona_name, :variant, presence: true belongs_to :signinable, polymorphic: true, optional: true before_create :set_password! after_create -> { AccountGenerationJob.perform_later(self) } delegate :begin_demo, :custom_sign_in?, :display_credentials?, to: :persona, allow_nil: true def signinable_username signinable.public_send(DemoMode.signinable_username_method) end private def set_password! self.signinable_password ||= DemoMode.current_password end # Heads up: finding a persona is not guaranteed (e.g. past sessions) def persona DemoMode.personas.find { |p| p.name.to_s == persona_name.to_s } end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
demo_mode-1.2.3 | app/models/demo_mode/session.rb |
demo_mode-1.2.2 | app/models/demo_mode/session.rb |
demo_mode-1.2.1 | app/models/demo_mode/session.rb |