class Trice::Repository
Public Class Methods
new()
click to toggle source
# File lib/trice/repository.rb, line 3 def initialize @backend = ThreadLocalBackend.new('trice.reference_time'.freeze) end
Public Instance Methods
reference_time()
click to toggle source
# File lib/trice/repository.rb, line 14 def reference_time @backend.get || raise(NoReferenceTime) end
reference_time=(time)
click to toggle source
# File lib/trice/repository.rb, line 7 def reference_time=(time) unless time.nil? || time.acts_like?(:time) raise ArgumentError, "#{time.inspect} is not behave like time" end @backend.set(time) end
with_reference_time(time) { |time| ... }
click to toggle source
# File lib/trice/repository.rb, line 18 def with_reference_time(time, &block) original = @backend.get begin self.reference_time = time yield time ensure self.reference_time = original end end