Module: Crufty::Methods
- Defined in:
- lib/crufty.rb
Instance Method Summary collapse
Instance Method Details
#crufty(warn_after = nil, error_after = nil, best_by: nil, expires: nil) ⇒ Object
44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 |
# File 'lib/crufty.rb', line 44 def crufty(warn_after = nil, error_after = nil, best_by: nil, expires: nil) raise ArgumentError if (warn_after && best_by) || (error_after && expires) best_by = warn_after || best_by expires = error_after || expires ctx = ::Crufty::Context.new(best_by, expires, caller) if ctx.state == :expired Crufty.expired_handler.call(ctx) elsif ctx.state == :stale Crufty.stale_handler.call(ctx) yield else yield end end |