Sha256: cce05e5e11221091e38b921b8fbfde9c4cc757132850eaf466dc521742deba26

Contents?: true

Size: 1.52 KB

Versions: 16

Compression:

Stored size: 1.52 KB

Contents

require "date"
require File.dirname(__FILE__) + '/date_time_formatting'
class Date
  include DateAndTimeFormatting
  
  # Converts a Date instance to a Time, where the time is set to the beginning of the day.
  # The timezone can be either :local or :utc (default :utc).
  #
  # ==== Examples:
  #   date = Date.new(2007, 11, 10)
  #   date.to_s                      # => 2007-11-10
  #
  #   date.to_time                   # => Sat Nov 10 00:00:00 UTC 2007
  #   date.to_time(:utc)             # => Sat Nov 10 00:00:00 UTC 2007
  #   date.to_time(:local)           # => Sat Nov 10 00:00:00 -0800 2007
  #
  def to_time(form = :utc)
    ::Time.send("#{form}", year, month, day)
  end
  
  def to_date; self; end
  
  def formatted(format=:default)
    format = Date.formats[format] 
    if format.nil?
      self.to_s 
    else
      self.strftime(format)
    end
  end
  
end

class Time
  include DateAndTimeFormatting
  
  # Ruby 1.8-cvs and 1.9 define private Time#to_date
  %w(to_date to_datetime).each do |method|
    public method if private_instance_methods.include?(method)
  end
  
  def to_time; self; end
  public :to_date
end

# Truncates a string to the given length and appends the given suffix if the string is, in fact, truncated.
#
# ==== Examples:
#  "This is a long string right here".truncate(10, "...")  #=> "This is..."

class String
  def truncate(length = 30, truncate_string = "...")
    return self unless self.length > length
    length = length - truncate_string.split(//).length
    self[0...length] + truncate_string
  end
end

Version data entries

16 entries across 16 versions & 2 rubygems

Version Path
merb-core-1.1.3 spec10/public/webrat/test_app/gems/gems/merb-helpers-0.9.14/lib/merb-helpers/core_ext.rb
merb-core-1.1.2 spec10/public/webrat/test_app/gems/gems/merb-helpers-0.9.14/lib/merb-helpers/core_ext.rb
merb-core-1.1.1 spec10/public/webrat/test_app/gems/gems/merb-helpers-0.9.14/lib/merb-helpers/core_ext.rb
merb-core-1.1.0 spec10/public/webrat/test_app/gems/gems/merb-helpers-0.9.14/lib/merb-helpers/core_ext.rb
merb-core-1.1.0.rc1 spec10/public/webrat/test_app/gems/gems/merb-helpers-0.9.14/lib/merb-helpers/core_ext.rb
merb-core-1.1.0.pre spec10/public/webrat/test_app/gems/gems/merb-helpers-0.9.14/lib/merb-helpers/core_ext.rb
merb-helpers-0.9.10 lib/merb-helpers/core_ext.rb
merb-helpers-0.9.11 lib/merb-helpers/core_ext.rb
merb-helpers-1.0.1 lib/merb-helpers/core_ext.rb
merb-helpers-0.9.12 lib/merb-helpers/core_ext.rb
merb-helpers-0.9.13 lib/merb-helpers/core_ext.rb
merb-helpers-0.9.8 lib/merb-helpers/core_ext.rb
merb-helpers-0.9.9 lib/merb-helpers/core_ext.rb
merb-helpers-1.0.2 lib/merb-helpers/core_ext.rb
merb-helpers-1.0.3 lib/merb-helpers/core_ext.rb
merb-helpers-1.0 lib/merb-helpers/core_ext.rb