Adds a branch for unlimited project hierarchy.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/branches/work@2148 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
@@ -0,0 +1,23 @@
|
||||
module ActiveSupport #:nodoc:
|
||||
module CoreExtensions #:nodoc:
|
||||
module String #:nodoc:
|
||||
# Additional string tests.
|
||||
module StartsEndsWith
|
||||
# Does the string start with the specified +prefix+?
|
||||
def starts_with?(prefix)
|
||||
prefix = prefix.to_s
|
||||
self[0, prefix.length] == prefix
|
||||
end
|
||||
|
||||
# Does the string end with the specified +suffix+?
|
||||
def ends_with?(suffix)
|
||||
suffix = suffix.to_s
|
||||
self[-suffix.length, suffix.length] == suffix
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
class String
|
||||
include ActiveSupport::CoreExtensions::String::StartsEndsWith
|
||||
end
|
||||
@@ -0,0 +1,76 @@
|
||||
module ActiveSupport #:nodoc:
|
||||
module CoreExtensions #:nodoc:
|
||||
module Numeric #:nodoc:
|
||||
# Enables the use of time calculations and declarations, like 45.minutes + 2.hours + 4.years.
|
||||
#
|
||||
# If you need precise date calculations that doesn't just treat months as 30 days, then have
|
||||
# a look at Time#advance.
|
||||
#
|
||||
# Some of these methods are approximations, Ruby's core
|
||||
# Date[http://stdlib.rubyonrails.org/libdoc/date/rdoc/index.html] and
|
||||
# Time[http://stdlib.rubyonrails.org/libdoc/time/rdoc/index.html] should be used for precision
|
||||
# date and time arithmetic
|
||||
module Time
|
||||
def seconds
|
||||
self
|
||||
end
|
||||
alias :second :seconds
|
||||
|
||||
def minutes
|
||||
self * 60
|
||||
end
|
||||
alias :minute :minutes
|
||||
|
||||
def hours
|
||||
self * 60.minutes
|
||||
end
|
||||
alias :hour :hours
|
||||
|
||||
def days
|
||||
self * 24.hours
|
||||
end
|
||||
alias :day :days
|
||||
|
||||
def weeks
|
||||
self * 7.days
|
||||
end
|
||||
alias :week :weeks
|
||||
|
||||
def fortnights
|
||||
self * 2.weeks
|
||||
end
|
||||
alias :fortnight :fortnights
|
||||
|
||||
def months
|
||||
self * 30.days
|
||||
end
|
||||
alias :month :months
|
||||
|
||||
def years
|
||||
(self * 365.25.days).to_i
|
||||
end
|
||||
alias :year :years
|
||||
|
||||
# Reads best without arguments: 10.minutes.ago
|
||||
def ago(time = ::Time.now)
|
||||
time - self
|
||||
end
|
||||
|
||||
# Reads best with argument: 10.minutes.until(time)
|
||||
alias :until :ago
|
||||
|
||||
# Reads best with argument: 10.minutes.since(time)
|
||||
def since(time = ::Time.now)
|
||||
time + self
|
||||
end
|
||||
|
||||
# Reads best without arguments: 10.minutes.from_now
|
||||
alias :from_now :since
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
class Numeric #:nodoc:
|
||||
include ActiveSupport::CoreExtensions::Numeric::Time
|
||||
end
|
||||
Reference in New Issue
Block a user