Sha256: af743e535073f52b8e83f24fc607baa973799c358d394e87f751a5a453e22968

Contents?: true

Size: 1.21 KB

Versions: 4

Compression:

Stored size: 1.21 KB

Contents

class Time
  
  class << self
    
    def log_elapsed(message=nil, &block)
      timer = Time.now
      result = block.call
      message = "#{message} (#{timer.elapsed.microseconds}ms)"
      puts message
      Quandl::Logger.info message
      result
    end
  
    def elapsed(message=nil, &block)
      log_elapsed(message, &block)
    end
  
  end
  
  def week_from_beginning_to_end
    (self.beginning_of_week .. self.end_of_week)
  end
  def this_week?
    self.week_from_beginning_to_end.cover?(Time.now)
  end

  def month_from_beginning_to_end
    (self.beginning_of_month .. self.end_of_month)
  end
  def this_month?
    self.month_from_beginning_to_end.cover?(Time.now)
  end

  def round(seconds = 60)
    Time.at((self.to_f / seconds).round * seconds)
  end

  def floor(seconds = 60)
    Time.at((self.to_f / seconds).floor * seconds)
  end
  
  def microseconds
    (self.to_f * 1000.0).to_i
  end
  
  def self.elapsed(message=nil, &block)
    timer = Time.now
    result = block.call
    puts "#{message} (#{timer.elapsed.microseconds}ms)"
    result
  end
  
  def elapsed
    elapsed_since(Time.now)
  end
  
  def elapsed_since(time)
    time - self
  end
  
  def elapsed_ms
    "#{elapsed.microseconds}ms"
  end
  
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
quandl_operation-0.1.16 lib/quandl/operation/core_ext/time.rb
quandl_operation-0.1.15 lib/quandl/operation/core_ext/time.rb
quandl_operation-0.1.14 lib/quandl/operation/core_ext/time.rb
quandl_operation-0.1.13 lib/quandl/operation/core_ext/time.rb