Sha256: 2018e01976a207e660244c178e6b776e93b4d996c84036201385bee6e1bf23b7

Contents?: true

Size: 677 Bytes

Versions: 111

Compression:

Stored size: 677 Bytes

Contents

class Range
  # Extends the default Range#include? to support range comparisons.
  #  (1..5).include?(1..5) # => true
  #  (1..5).include?(2..3) # => true
  #  (1..5).include?(2..6) # => false
  #
  # The native Range#include? behavior is untouched.
  #  ("a".."f").include?("c") # => true
  #  (5..9).include?(11) # => false
  def include_with_range?(value)
    if value.is_a?(::Range)
      operator = exclude_end? ? :< : :<=
      end_value = value.exclude_end? ? last.succ : last
      include_without_range?(value.first) && (value.last <=> end_value).send(operator, 0)
    else
      include_without_range?(value)
    end
  end

  alias_method_chain :include?, :range
end

Version data entries

111 entries across 111 versions & 6 rubygems

Version Path
csd-0.1.3 lib/active_support/core_ext/range/include_range.rb
csd-0.1.2 lib/active_support/core_ext/range/include_range.rb
csd-0.1.1 lib/active_support/core_ext/range/include_range.rb
csd-0.1.0 lib/active_support/core_ext/range/include_range.rb
csd-0.0.16 lib/active_support/core_ext/range/include_range.rb
activesupport-3.0.0.beta4 lib/active_support/core_ext/range/include_range.rb
activesupport-3.0.0.beta3 lib/active_support/core_ext/range/include_range.rb
activesupport-3.0.0.beta2 lib/active_support/core_ext/range/include_range.rb
activesupport-3.0.0.beta lib/active_support/core_ext/range/include_range.rb
activesupport-3.0.pre lib/active_support/core_ext/range/include_range.rb
recliner-0.0.1 vendor/activesupport/lib/active_support/core_ext/range/include_range.rb