aboutsummaryrefslogblamecommitdiffstats
path: root/activesupport/lib/active_support/core_ext/range/each.rb
blob: ecef78f55f5c03cdf8e392558ccc1a74d417d16e (plain) (tree)
1
                                                 
















                                             
                        



                                                          
require 'active_support/core_ext/module/aliasing'

class Range #:nodoc:

  def each_with_time_with_zone(&block)
    ensure_iteration_allowed
    each_without_time_with_zone(&block)
  end
  alias_method_chain :each, :time_with_zone

  def step_with_time_with_zone(n = 1, &block)
    ensure_iteration_allowed
    step_without_time_with_zone(n, &block)
  end
  alias_method_chain :step, :time_with_zone

  private
  def ensure_iteration_allowed
    if first.is_a?(Time)
      raise TypeError, "can't iterate from #{first.class}"
    end
  end
end