Module: ManaPotion::Pool::ClassMethods
- Defined in:
- lib/mana-potion/pool.rb
Instance Method Summary collapse
Instance Method Details
#mana_pool_for(association, limit: 1, period: 1.day) ⇒ Object
10 11 12 13 14 15 16 17 18 19 20 |
# File 'lib/mana-potion/pool.rb', line 10 def mana_pool_for(association, limit: 1, period: 1.day) before_validation do limit = instance_exec &limit if limit.respond_to?(:call) period = instance_exec &period if period.respond_to?(:call) check_usage = ManaPotion::CheckUsage.new(self, send(association), limit, period) if check_usage.exceeded? errors.add(association, :limit, limit: limit, count: check_usage.count) end end end |