Class: EditRateLimiter
- Inherits:
-
RateLimiter
- Object
- RateLimiter
- EditRateLimiter
- Defined in:
- lib/edit_rate_limiter.rb
Constant Summary
Constants inherited from RateLimiter
RateLimiter::PERFORM_LUA, RateLimiter::PERFORM_LUA_AGGRESSIVE
Instance Attribute Summary
Attributes inherited from RateLimiter
#error_code, #key, #max, #secs, #user
Instance Method Summary collapse
- #build_key(type) ⇒ Object
-
#initialize(user) ⇒ EditRateLimiter
constructor
A new instance of EditRateLimiter.
Methods inherited from RateLimiter
#can_perform?, #clear!, clear_all_global!, disable, disabled?, enable, key_prefix, #performed!, #remaining, #rollback!, #seconds_to_wait, time_left
Constructor Details
#initialize(user) ⇒ EditRateLimiter
Returns a new instance of EditRateLimiter.
5 6 7 8 9 10 11 12 13 14 15 |
# File 'lib/edit_rate_limiter.rb', line 5 def initialize(user) limit = SiteSetting.max_edits_per_day if user.trust_level >= 2 multiplier = SiteSetting.get("tl#{user.trust_level}_additional_edits_per_day_multiplier").to_f multiplier = 1.0 if multiplier < 1.0 limit = (limit * multiplier).to_i end super(user, "edit-post", limit, 1.day.to_i) end |
Instance Method Details
#build_key(type) ⇒ Object
17 18 19 |
# File 'lib/edit_rate_limiter.rb', line 17 def build_key(type) "#{super(type)}:#{Date.today}" end |