Module: Garant
- Defined in:
- lib/garant.rb,
lib/garant/config.rb,
lib/garant/errors.rb,
lib/garant/version.rb
Defined Under Namespace
Classes: Config, MaxRetriesExceeded, MissingHashValue
Constant Summary collapse
- VERSION =
"0.1.0"
Class Attribute Summary collapse
-
.config ⇒ Object
Returns the value of attribute config.
Class Method Summary collapse
Class Attribute Details
.config ⇒ Object
Returns the value of attribute config.
3 4 5 |
# File 'lib/garant/config.rb', line 3 def config @config end |
Class Method Details
.safe(&block) ⇒ Object
9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
# 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 |