Module: WCC::Auth

Defined in:
lib/wcc/auth.rb,
lib/wcc/auth/devise.rb,
lib/wcc/auth/version.rb,
lib/wcc/auth/providers.rb,
lib/wcc/auth/access_level.rb

Defined Under Namespace

Modules: ControllerHelpers, Devise, Providers Classes: AccessLevel, TieredAbility

Constant Summary collapse

SetupOAuth =
lambda { |env|
  request = Rack::Request.new(env)

  env['omniauth.strategy'].options[:client_id] = config.app_id
  env['omniauth.strategy'].options[:client_secret] = config.app_secret
  auth_params = config.authorize_params.merge(
    request.params['authorize_params'] || {}
  )

  auth_params.each do |k, v|
    env['omniauth.strategy'].options[:authorize_params][k] = v
  end
}
VERSION =
'0.9.0'
ACCESS_LEVELS =
[
  { id: nil, name: "None", slug: "none", description: "no access", level: 0 },
  { id: 1, name: "Basic", slug: "basic", description: "read access", level: 1 },
  { id: 2, name: "Contribute", slug: "contribute", description: "read-write of data user owns", level: 2 },
  { id: 3, name: "Manage", slug: "manage", description: "read-write of other's data", level: 3 },
  { id: 4, name: "App Admin", slug: "appadmin", description: "read-write app configuration", level: 4 },
  { id: 5, name: "System Admin", slug: "sysadmin", description: "full access", level: 5 },
]

Class Method Summary collapse

Class Method Details

.configObject



20
21
22
# File 'lib/wcc/auth.rb', line 20

def self.config
  @config ||= WCC::Auth::Config.new
end

.finalizeObject



24
25
26
# File 'lib/wcc/auth.rb', line 24

def self.finalize
  finalize_callbacks.each(&:call)
end

.finalize_callbacksObject



28
29
30
# File 'lib/wcc/auth.rb', line 28

def self.finalize_callbacks
  @finalize_callbacks ||= []
end

.setup {|config| ... } ⇒ Object

Yields:



15
16
17
18
# File 'lib/wcc/auth.rb', line 15

def self.setup
  yield config
  finalize
end