Sha256: 386feaacf9dbd528a4e2b81ebbc356c148005612aecf689c214832b19e447175

Contents?: true

Size: 470 Bytes

Versions: 3

Compression:

Stored size: 470 Bytes

Contents

# Coercible Unix time in future
class SmsAero::Future < String
  extend SmsAero::Callable

  private

  def initialize(value)
    time = value.to_time         if     value.respond_to? :to_time
    time ||= ::Time.parse(value) unless value.is_a? Numeric
    number = time.to_i
    return super(number.to_s) if number > ::Time.now.to_i
    raise "#{value} is a time in the past, not in the future"
  rescue StandardError
    raise "#{value} is not a valid time"
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
sms_aero-0.2.0 lib/sms_aero/future.rb
sms_aero-0.1.3 lib/sms_aero/future.rb
sms_aero-0.1.2 lib/sms_aero/future.rb