From 77d9d67ed18978eba3424d70b2ccdd39916c6ddb Mon Sep 17 00:00:00 2001 From: Jim Myhrberg Date: Wed, 4 Aug 2010 17:28:22 +0300 Subject: [PATCH] merged MethodChain and BackwardsCompatibility modules into a single TimeExt::Support module --- lib/time_ext.rb | 2 +- lib/time_ext/backwards_compatibility.rb | 14 ------------- lib/time_ext/core_ext/time.rb | 3 +-- lib/time_ext/method_chain.rb | 19 ----------------- lib/time_ext/support.rb | 27 +++++++++++++++++++++++++ 5 files changed, 29 insertions(+), 36 deletions(-) delete mode 100644 lib/time_ext/backwards_compatibility.rb delete mode 100644 lib/time_ext/method_chain.rb create mode 100644 lib/time_ext/support.rb diff --git a/lib/time_ext.rb b/lib/time_ext.rb index 7ecb4eb..a849076 100644 --- a/lib/time_ext.rb +++ b/lib/time_ext.rb @@ -1,8 +1,8 @@ require 'rubygems' require 'active_support' -require 'time_ext/backwards_compatibility' require 'time_ext/calculations' require 'time_ext/iterations' require 'time_ext/method_chain' +require 'time_ext/support' require 'time_ext/core_ext/time' diff --git a/lib/time_ext/backwards_compatibility.rb b/lib/time_ext/backwards_compatibility.rb deleted file mode 100644 index 376ad4e..0000000 --- a/lib/time_ext/backwards_compatibility.rb +++ /dev/null @@ -1,14 +0,0 @@ -module TimeExt - # Provides helper methods used by TimeExt::Calculations for backwards compatibility with ActiveSupport. - module BackwardsCompatibility - - def days_into_week - defined?(DAYS_INTO_WEEK) ? DAYS_INTO_WEEK : { :monday => 0, :tuesday => 1, :wednesday => 2, :thursday => 3, :friday => 4, :saturday => 5, :sunday => 6 } - end - - def common_year_days_in_month - defined?(COMMON_YEAR_DAYS_IN_MONTH) ? COMMON_YEAR_DAYS_IN_MONTH : [nil, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31] - end - - end -end \ No newline at end of file diff --git a/lib/time_ext/core_ext/time.rb b/lib/time_ext/core_ext/time.rb index c060b89..aa5c599 100644 --- a/lib/time_ext/core_ext/time.rb +++ b/lib/time_ext/core_ext/time.rb @@ -1,6 +1,5 @@ class Time - include TimeExt::MethodChain - include TimeExt::BackwardsCompatibility + include TimeExt::Support include TimeExt::Calculations include TimeExt::Iterations diff --git a/lib/time_ext/method_chain.rb b/lib/time_ext/method_chain.rb deleted file mode 100644 index 09592c8..0000000 --- a/lib/time_ext/method_chain.rb +++ /dev/null @@ -1,19 +0,0 @@ -module TimeExt - # Allows iterators' #until and #from methods to chain back to the parent iteration method. - module MethodChain - - def add_to_chain(method, *args, &block) - @method_chain ||= [] - @method_chain << [method.to_sym, args, block] - end - - def call_chain(custom_block = nil, &block) - method, args, iblock = @method_chain.pop - return nil if method.nil? - iblock = custom_block if !custom_block.nil? - method, args, iblock = yield(method, args, iblock) if block_given? - self.send(method, *args, &iblock) - end - - end -end \ No newline at end of file diff --git a/lib/time_ext/support.rb b/lib/time_ext/support.rb new file mode 100644 index 0000000..ff3e0e2 --- /dev/null +++ b/lib/time_ext/support.rb @@ -0,0 +1,27 @@ +module TimeExt + # Provides helper methods used by TimeExt::Calculations for backwards compatibility with ActiveSupport, and method chaining helpers for TimeExt::Iterations. + module Support + + def days_into_week + defined?(DAYS_INTO_WEEK) ? DAYS_INTO_WEEK : { :monday => 0, :tuesday => 1, :wednesday => 2, :thursday => 3, :friday => 4, :saturday => 5, :sunday => 6 } + end + + def common_year_days_in_month + defined?(COMMON_YEAR_DAYS_IN_MONTH) ? COMMON_YEAR_DAYS_IN_MONTH : [nil, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31] + end + + def add_to_chain(method, *args, &block) + @method_chain ||= [] + @method_chain << [method.to_sym, args, block] + end + + def call_chain(custom_block = nil, &block) + method, args, iblock = @method_chain.pop + return nil if method.nil? + iblock = custom_block if !custom_block.nil? + method, args, iblock = yield(method, args, iblock) if block_given? + self.send(method, *args, &iblock) + end + + end +end \ No newline at end of file