/usr/lib/ruby/vendor_ruby/merb-helpers/core_ext.rb is in ruby-merb-helpers 1.1.3-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 | require "date"
require 'merb-helpers/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
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
|