Module: Card::Auth::Setup
- Included in:
- Card::Auth
- Defined in:
- lib/card/auth/setup.rb
Overview
singleton methods for managing setup state
Constant Summary collapse
- SETUP_COMPLETED_KEY =
"SETUP_COMPLETED".freeze
Instance Method Summary collapse
- #account_ids ⇒ Object
-
#hide_accounts!(mode = true) ⇒ Object
for testing setup.
- #instant_account_activation ⇒ Object
-
#needs_setup? ⇒ true/false
app is not totally set up yet.
-
#simulate_setup_need!(mode = true) ⇒ Object
act as if site is not set up.
Instance Method Details
#account_ids ⇒ Object
30 31 32 33 34 35 36 |
# File 'lib/card/auth/setup.rb', line 30 def account_ids as_bot do Card.search right_id: AccountID, not: { left_id: ["in", WagnBotID, AnonymousID] }, return: :id end end |
#hide_accounts!(mode = true) ⇒ Object
for testing setup
25 26 27 28 |
# File 'lib/card/auth/setup.rb', line 25 def hide_accounts! mode=true Card.cache.delete(SETUP_COMPLETED_KEY) if mode @hidden_accounts = mode && (account_ids - [WagnBotID, AnonymousID]) end |
#instant_account_activation ⇒ Object
38 39 40 41 42 43 |
# File 'lib/card/auth/setup.rb', line 38 def instant_account_activation simulate_setup_need! yield ensure simulate_setup_need! false end |
#needs_setup? ⇒ true/false
app is not totally set up yet
10 11 12 13 14 15 16 |
# File 'lib/card/auth/setup.rb', line 10 def needs_setup? @simulating_setup_need || ( !Card.cache.read(SETUP_COMPLETED_KEY) && !Card.cache.write(SETUP_COMPLETED_KEY, account_count > 2) ) # every deck starts with two accounts: WagnBot and Anonymous end |
#simulate_setup_need!(mode = true) ⇒ Object
act as if site is not set up
20 21 22 |
# File 'lib/card/auth/setup.rb', line 20 def simulate_setup_need! mode=true @simulating_setup_need = mode end |