Class: Mumukit::Login::Settings

Inherits:
Object
  • Object
show all
Defined in:
lib/mumukit/login/settings.rb

Constant Summary collapse

LOCK_LOGIN_METHODS =
{
    facebook: 'facebook',
    github: 'github',
    google: 'google-oauth2',
    twitter: 'twitter',
    user_pass: 'Username-Password-Authentication'
}

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(login_methods = Mumukit::Login::Settings.default_methods) ⇒ Settings

Returns a new instance of Settings.



13
14
15
# File 'lib/mumukit/login/settings.rb', line 13

def initialize( = Mumukit::Login::Settings.default_methods)
  @login_methods = .map(&:to_sym)
end

Instance Attribute Details

#login_methodsObject

Returns the value of attribute login_methods.



11
12
13
# File 'lib/mumukit/login/settings.rb', line 11

def 
  @login_methods
end

Class Method Details

.default_methodsObject



53
54
55
# File 'lib/mumukit/login/settings.rb', line 53

def self.default_methods
  [:user_pass]
end

.login_methodsObject



49
50
51
# File 'lib/mumukit/login/settings.rb', line 49

def self.
  LOCK_LOGIN_METHODS.keys
end

Instance Method Details

#lock_jsonObject



37
38
39
40
41
42
43
# File 'lib/mumukit/login/settings.rb', line 37

def lock_json
  {dict: I18n.locale,
   connections: ,
   icon: '/logo-alt.png',
   socialBigButtons: !many_methods?,
   disableResetAction: false}
end

#lock_login_methodsObject



45
46
47
# File 'lib/mumukit/login/settings.rb', line 45

def 
  .map { |it| LOCK_LOGIN_METHODS[it] }
end

#many_methods?Boolean

Returns:

  • (Boolean)


17
18
19
# File 'lib/mumukit/login/settings.rb', line 17

def many_methods?
  user_pass? && .size > 1
end

#social_login_methodsObject



25
26
27
# File 'lib/mumukit/login/settings.rb', line 25

def 
   - [:user_pass]
end

#to_lock_json(callback_url, options = {}) ⇒ Object



29
30
31
32
33
34
35
# File 'lib/mumukit/login/settings.rb', line 29

def to_lock_json(callback_url, options={})
  lock_json
      .merge(callbackURL: callback_url, responseType: 'code', authParams: {scope: 'openid profile'})
      .merge(options)
      .to_json
      .html_safe
end

#user_pass?Boolean

Returns:

  • (Boolean)


21
22
23
# File 'lib/mumukit/login/settings.rb', line 21

def user_pass?
  .include? :user_pass
end