# File lib/rufus/scheduler/zotime.rb, line 396 def self.make(o) zt = case o when Time ZoTime.new(o.to_f, o.zone) when Date t = o.respond_to?(:to_time) ? o.to_time : Time.parse(o.strftime('%Y-%m-%d %H:%M:%S')) ZoTime.new(t.to_f, t.zone) when String Rufus::Scheduler.parse_in(o, :no_error => true) || self.parse(o) else o end zt = ZoTime.new(Time.now.to_f + zt, nil) if zt.is_a?(Numeric) fail ArgumentError.new( "cannot turn #{o.inspect} to a ZoTime instance" ) unless zt.is_a?(ZoTime) zt end