module Card::Auth::Setup
singleton methods for managing setup state
Constants
- NEEDS_SETUP
Public Instance Methods
instant_account_activation() { || ... }
click to toggle source
# File lib/card/auth/setup.rb, line 24 def instant_account_activation simulate_needs_setup! yield ensure simulate_needs_setup! false end
needs_setup?()
click to toggle source
app is not totally set up yet @return [true/false]
# File lib/card/auth/setup.rb, line 9 def needs_setup? if @needs_setup == false || Card.cache.read(NEEDS_SETUP)&.to_s == "false" @needs_setup = false else needs_setup_if_no_accounts end end
simulate_setup!(mode=true)
click to toggle source
for testing setup
# File lib/card/auth/setup.rb, line 18 def simulate_setup! mode=true Card.cache.delete NEEDS_SETUP @needs_setup = nil @hidden_accounts = mode ? user_account_ids : nil end
Private Instance Methods
needs_setup_if_no_accounts()
click to toggle source
# File lib/card/auth/setup.rb, line 33 def needs_setup_if_no_accounts user_account_count.zero?.tap do |need| Card.cache.write NEEDS_SETUP, false unless need end end
user_account_count()
click to toggle source
# File lib/card/auth/setup.rb, line 48 def user_account_count cql = user_account_cql cql[:not] = { id: ["in"].concat(@hidden_accounts) } if @hidden_accounts.present? as_bot { Card.count_by_cql cql } end
user_account_cql()
click to toggle source
# File lib/card/auth/setup.rb, line 43 def user_account_cql # every deck starts with two accounts: WagnBot and Anonymous { right: :account, creator_id: ["ne", Card::WagnBotID] } end
user_account_ids()
click to toggle source
# File lib/card/auth/setup.rb, line 39 def user_account_ids as_bot { Card.search user_account_cql.merge(return: :id) } end