Sha256: a0c7dc7affe67804caa76e676480d63453bef50eabb52fbe6a6558896c38564d
Contents?: true
Size: 847 Bytes
Versions: 7
Compression:
Stored size: 847 Bytes
Contents
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
7 entries across 7 versions & 1 rubygems