Module: Groovestack::Auth

Includes:
Routes, Settings
Defined in:
lib/groovestack/auth.rb,
lib/groovestack/auth/engine.rb,
lib/groovestack/auth/routes.rb,
lib/groovestack/auth/version.rb,
lib/groovestack/auth/provider.rb,
lib/groovestack/auth/settings.rb,
lib/groovestack/auth/providers/apple.rb,
lib/groovestack/auth/providers/email.rb,
lib/groovestack/auth/providers/google.rb,
lib/groovestack/auth/providers/facebook.rb,
lib/groovestack/auth/providers/omni_auth.rb,
app/models/concerns/groovestack/auth/user.rb,
lib/groovestack/auth/graphql/visible_field.rb,
lib/groovestack/auth/graphql/visible_object.rb,
app/models/concerns/groovestack/auth/identity.rb,
lib/groovestack/auth/graphql/authorized_field.rb,
lib/groovestack/auth/graphql/authorized_object.rb,
lib/groovestack/auth/graphql/schema_visibility.rb,
lib/groovestack/auth/passwordless/t_otp_tokenizer.rb,
app/channels/groovestack/auth/action_cable/connection.rb,
app/controllers/groovestack/auth/authenticated_api_controller.rb,
app/controllers/groovestack/auth/omniauth_callbacks_controller.rb,
app/controllers/groovestack/auth/passwordless/sessions_controller.rb,
app/controllers/groovestack/auth/passwordless/magic_links_controller.rb,
app/models/concerns/groovestack/auth/authorized_fields_for_serialization.rb,
app/controllers/concerns/groovestack/auth/graphql/controllers/auth_helpers.rb,
app/controllers/concerns/groovestack/auth/graphql/controllers/authed_execute.rb

Defined Under Namespace

Modules: ActionCable, AuthorizedFieldsForSerialization, GraphQL, Identity, Passwordless, Providers, Routes, Settings, User Classes: AuthenticatedApiController, Engine, OmniauthCallbacksController, Provider

Constant Summary collapse

VERSION =
'0.1.6'

Class Method Summary collapse

Class Method Details

.available_providers(ancestor: nil) ⇒ Object



5
6
7
8
9
10
11
12
# File 'lib/groovestack/auth/provider.rb', line 5

def self.available_providers(ancestor: nil)
  # ensure all providers are loaded
  ::Groovestack::Auth::Providers.eager_load!

  root = ancestor || ::Groovestack::Auth::Provider

  root.descendants.select(&:available?)
end

.configured_providers(ancestor: nil) ⇒ Object



18
19
20
# File 'lib/groovestack/auth/provider.rb', line 18

def self.configured_providers(ancestor: nil)
  enabled_providers(ancestor: ancestor).select(&:configured?)
end

.enabled_providers(ancestor: nil) ⇒ Object



14
15
16
# File 'lib/groovestack/auth/provider.rb', line 14

def self.enabled_providers(ancestor: nil)
  available_providers(ancestor: ancestor).select(&:enabled?)
end

.enabled_providers_sans_configuration(ancestor: nil) ⇒ Object



22
23
24
# File 'lib/groovestack/auth/provider.rb', line 22

def self.enabled_providers_sans_configuration(ancestor: nil)
  enabled_providers(ancestor: ancestor) - configured_providers(ancestor: ancestor)
end