class Concurrent::Promises::ScheduledPromise
def initialize(default_executor, intended_time)
def initialize(default_executor, intended_time) super Event.new(self, default_executor) @IntendedTime = intended_time in_seconds = begin now = Time.now schedule_time = if @IntendedTime.is_a? Time @IntendedTime else now + @IntendedTime end [0, schedule_time.to_f - now.to_f].max end Concurrent.global_timer_set.post(in_seconds) do @Future.resolve_with RESOLVED end end
def inspect
def inspect "#{to_s[0..-2]} intended_time: #{@IntendedTime}>" end
def intended_time
def intended_time @IntendedTime end