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.



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

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

Instance Attribute Details

#login_methodsObject

Returns the value of attribute login_methods.



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

def 
  @login_methods
end

Class Method Details

.default_methodsObject



63
64
65
# File 'lib/mumukit/login/settings.rb', line 63

def self.default_methods
  [:user_pass]
end

.login_methodsObject



59
60
61
# File 'lib/mumukit/login/settings.rb', line 59

def self.
  .keys
end

Instance Method Details

#lock_jsonObject



36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
# File 'lib/mumukit/login/settings.rb', line 36

def lock_json
  {
      languageDictionary: {
          title: 'Mumuki',
          signUpTerms: I18n.t(:accept_terms_and_conditions, terms_url: Mumukit::.config.terms_url)
      },
      mustAcceptTerms: true,
      language: I18n.locale,
      allowedConnections: ,
      socialButtonStyle: many_methods? ? 'small' : 'big',
      rememberLastLogin: true,
      theme: {
          logo: Mumukit::.config.logo_url,
          primaryColor: '#FF5B81'
      },
      disableResetAction: false,
      closable: false}
end

#lock_login_methodsObject



55
56
57
# File 'lib/mumukit/login/settings.rb', line 55

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

#many_methods?Boolean

Returns:

  • (Boolean)


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

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

#social_login_methodsObject



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

def 
   - [:user_pass]
end

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



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

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

#user_pass?Boolean

Returns:

  • (Boolean)


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

def user_pass?
  .include? :user_pass
end