Class: Mumukit::Login::Settings
- Inherits:
-
Object
- Object
- Mumukit::Login::Settings
- 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
-
#login_methods ⇒ Object
Returns the value of attribute login_methods.
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(login_methods = Mumukit::Login::Settings.default_methods) ⇒ Settings
constructor
A new instance of Settings.
- #lock_json ⇒ Object
- #lock_login_methods ⇒ Object
- #many_methods? ⇒ Boolean
- #social_login_methods ⇒ Object
- #to_lock_json(callback_url, options = {}) ⇒ Object
- #user_pass? ⇒ Boolean
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(login_methods = Mumukit::Login::Settings.default_methods) @login_methods = login_methods.map(&:to_sym) end |
Instance Attribute Details
#login_methods ⇒ Object
Returns the value of attribute login_methods.
11 12 13 |
# File 'lib/mumukit/login/settings.rb', line 11 def login_methods @login_methods end |
Class Method Details
.default_methods ⇒ Object
53 54 55 |
# File 'lib/mumukit/login/settings.rb', line 53 def self.default_methods [:user_pass] end |
.login_methods ⇒ Object
49 50 51 |
# File 'lib/mumukit/login/settings.rb', line 49 def self.login_methods LOCK_LOGIN_METHODS.keys end |
Instance Method Details
#lock_json ⇒ Object
37 38 39 40 41 42 43 |
# File 'lib/mumukit/login/settings.rb', line 37 def lock_json {dict: I18n.locale, connections: lock_login_methods, icon: '/logo-alt.png', socialBigButtons: !many_methods?, disableResetAction: false} end |
#lock_login_methods ⇒ Object
45 46 47 |
# File 'lib/mumukit/login/settings.rb', line 45 def lock_login_methods login_methods.map { |it| LOCK_LOGIN_METHODS[it] } end |
#many_methods? ⇒ Boolean
17 18 19 |
# File 'lib/mumukit/login/settings.rb', line 17 def many_methods? user_pass? && .size > 1 end |
#social_login_methods ⇒ Object
25 26 27 |
# File 'lib/mumukit/login/settings.rb', line 25 def login_methods - [: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, ={}) lock_json .merge(callbackURL: callback_url, responseType: 'code', authParams: {scope: 'openid profile'}) .merge() .to_json .html_safe end |
#user_pass? ⇒ Boolean
21 22 23 |
# File 'lib/mumukit/login/settings.rb', line 21 def user_pass? login_methods.include? :user_pass end |