Class: TrustLevel
- Inherits:
-
Object
- Object
- TrustLevel
- Defined in:
- lib/trust_level.rb
Class Method Summary collapse
- .[](level) ⇒ Object
- .calculate(user, use_previous_trust_level: false) ⇒ Object
- .compare(current_level, level) ⇒ Object
- .levels ⇒ Object
- .name(level) ⇒ Object
- .valid?(level) ⇒ Boolean
- .valid_range ⇒ Object
Class Method Details
.[](level) ⇒ Object
7 8 9 10 11 |
# File 'lib/trust_level.rb', line 7 def self.[](level) raise InvalidTrustLevel if !valid?(level) level end |
.calculate(user, use_previous_trust_level: false) ⇒ Object
33 34 35 36 37 38 39 40 41 42 |
# File 'lib/trust_level.rb', line 33 def self.calculate(user, use_previous_trust_level: false) # First, use the manual locked level return user.manual_locked_trust_level if user.manual_locked_trust_level.present? # Then consider the group locked level (or the previous trust level) granted_trust_level = user.group_granted_trust_level || 0 previous_trust_level = use_previous_trust_level ? find_previous_trust_level(user) : 0 [granted_trust_level, previous_trust_level, SiteSetting.default_trust_level].max end |
.compare(current_level, level) ⇒ Object
25 26 27 |
# File 'lib/trust_level.rb', line 25 def self.compare(current_level, level) (current_level || 0) >= level end |
.levels ⇒ Object
13 14 15 |
# File 'lib/trust_level.rb', line 13 def self.levels @levels ||= Enum.new(:newuser, :basic, :member, :regular, :leader, start: 0) end |
.name(level) ⇒ Object
29 30 31 |
# File 'lib/trust_level.rb', line 29 def self.name(level) I18n.t("js.trust_levels.names.#{levels[level]}") end |
.valid?(level) ⇒ Boolean
17 18 19 |
# File 'lib/trust_level.rb', line 17 def self.valid?(level) valid_range === level end |
.valid_range ⇒ Object
21 22 23 |
# File 'lib/trust_level.rb', line 21 def self.valid_range (0..4) end |