module Garant
Constants
- VERSION
Attributes
config[RW]
Public Class Methods
safe(&block)
click to toggle source
# File lib/garant.rb, line 9 def safe(&block) retries = 0 hashed_value = nil while true do hashed_value = block.call raise MissingHashedValue.new if hashed_value.nil? raise MaxRetriesExceeded.new if config.max_retries <= retries if config.storage.include?(hashed_value) retries += 1 else config.storage.add(hashed_value) return hashed_value end end end
setup() { |config| ... }
click to toggle source
# File lib/garant/config.rb, line 6 def self.setup self.config ||= Config.new yield config end