Pastie now auto-senses if line-wrap is a bad or good idea. Feedback?
## mark a section (Learn more)
This paste will be private.
Index: /Users/jgoebel/rails/raptor/vendor/rails/activesupport/lib/active_support/time_with_zone.rb =================================================================== --- /Users/jgoebel/rails/raptor/vendor/rails/activesupport/lib/active_support/time_with_zone.rb (revision 8714) +++ /Users/jgoebel/rails/raptor/vendor/rails/activesupport/lib/active_support/time_with_zone.rb (working copy) @@ -11,6 +11,10 @@ @time_zone = time_zone end + def -(time) + utc-time + end + # Returns a Time instance that represents the time in time_zone def time @time ||= utc? ? @utc : time_zone.utc_to_local(@utc) Index: /Users/jgoebel/rails/raptor/vendor/rails/activesupport/lib/active_support/core_ext/time/zones.rb =================================================================== --- /Users/jgoebel/rails/raptor/vendor/rails/activesupport/lib/active_support/core_ext/time/zones.rb (revision 8714) +++ /Users/jgoebel/rails/raptor/vendor/rails/activesupport/lib/active_support/core_ext/time/zones.rb (working copy) @@ -6,7 +6,19 @@ def self.included(base) #:nodoc: base.extend(ClassMethods) if base == ::Time # i.e., don't include class methods in DateTime + base.class_eval do + alias_method :minus_without_timezone, :- + alias_method :-, :minus_with_timezone + end if base == ::Time end + + def minus_with_timezone(time) #:nodoc: + if time.is_a?(ActiveSupport::TimeWithZone) + dup.utc - time.dup.utc + else + minus_without_timezone(time) + end + end module ClassMethods attr_reader :zone
From the Design Piracy series on my blog: