lib/convenient_service/support/counter.rb in convenient_service-0.12.0 vs lib/convenient_service/support/counter.rb in convenient_service-0.13.0

- old
+ new

@@ -9,12 +9,12 @@ # - https://github.com/ruby/spec/blob/master/language/break_spec.rb # - https://github.com/ruby/spec/blob/master/language/next_spec.rb # - https://stackoverflow.com/a/1402764/12201472 # class Counter - module Errors - class ValueAfterIncrementIsGreaterThanMaxValue < ::ConvenientService::Error + module Exceptions + class ValueAfterIncrementIsGreaterThanMaxValue < ::ConvenientService::Exception ## # @param n [Integer] # @param current_value [Integer] # @param max_value [Integer] # @return [void] @@ -30,11 +30,11 @@ super(message) end end - class ValueAfterDecrementIsLowerThanMinValue < ::ConvenientService::Error + class ValueAfterDecrementIsLowerThanMinValue < ::ConvenientService::Exception ## # @param n [Integer] # @param current_value [Integer] # @param min_value [Integer] # @return [void] @@ -89,11 +89,10 @@ def initialize(initial_value: 0, min_value: -::Float::INFINITY, max_value: ::Float::INFINITY) @initial_value = initial_value @current_value = initial_value @min_value = min_value @max_value = max_value - @lock = ::Mutex.new end ## # @param n [Integer] # @return [Integer] @@ -112,21 +111,21 @@ end ## # @param n [Integer] # @return [Integer] - # @raise [ConvenientService::Support::ThreadSafeCounter::Errors::ValueAfterIncrementIsGreaterThanMaxValue] + # @raise [ConvenientService::Support::ThreadSafeCounter::Exceptions::ValueAfterIncrementIsGreaterThanMaxValue] # # @internal # NOTE: Instance variables are accessed directly to release the lock faster. # # NOTE: The name is inspired by Rails. # - https://api.rubyonrails.org/classes/ActiveRecord/Persistence.html#method-i-save # - https://api.rubyonrails.org/classes/ActiveRecord/Persistence.html#method-i-save-21 # def increment!(n = 1) - raise Errors::ValueAfterIncrementIsGreaterThanMaxValue.new(n: n, current_value: @current_value, max_value: @max_value) if @current_value + n > @max_value + raise Exceptions::ValueAfterIncrementIsGreaterThanMaxValue.new(n: n, current_value: @current_value, max_value: @max_value) if @current_value + n > @max_value @current_value += n end ## @@ -165,20 +164,20 @@ end ## # @param n [Integer] # @return [Integer] - # @raise [ConvenientService::Support::ThreadSafeCounter::Errors::ValueAfterDecrementIsLowerThanMinValue] + # @raise [ConvenientService::Support::ThreadSafeCounter::Exceptions::ValueAfterDecrementIsLowerThanMinValue] # # @internal # NOTE: Instance variables are accessed directly to release the lock faster. # # NOTE: The name is inspired by Rails. # - https://api.rubyonrails.org/classes/ActiveRecord/Persistence.html#method-i-save # - https://api.rubyonrails.org/classes/ActiveRecord/Persistence.html#method-i-save-21 # def decrement!(n = 1) - raise Errors::ValueAfterDecrementIsLowerThanMinValue.new(n: n, current_value: @current_value, min_value: @min_value) if @current_value - n < @min_value + raise Exceptions::ValueAfterDecrementIsLowerThanMinValue.new(n: n, current_value: @current_value, min_value: @min_value) if @current_value - n < @min_value @current_value -= n end ##