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
activesupport-3.1.1.rc1 lib/active_support/core_ext/range/include_range.rb
messagebus_ruby_api-0.4.4 spec/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/core_ext/range/include_range.rb
activesupport-3.1.0 lib/active_support/core_ext/range/include_range.rb
activesupport-3.1.0.rc8 lib/active_support/core_ext/range/include_range.rb
activesupport-3.1.0.rc6 lib/active_support/core_ext/range/include_range.rb
activesupport-3.0.10 lib/active_support/core_ext/range/include_range.rb
activesupport-3.0.10.rc1 lib/active_support/core_ext/range/include_range.rb
activesupport-3.1.0.rc5 lib/active_support/core_ext/range/include_range.rb
activesupport-3.0.9 lib/active_support/core_ext/range/include_range.rb
activesupport-3.0.9.rc5 lib/active_support/core_ext/range/include_range.rb
activesupport-3.0.9.rc4 lib/active_support/core_ext/range/include_range.rb
activesupport-3.1.0.rc4 lib/active_support/core_ext/range/include_range.rb
activesupport-3.0.9.rc3 lib/active_support/core_ext/range/include_range.rb
activesupport-3.1.0.rc3 lib/active_support/core_ext/range/include_range.rb
activesupport-3.0.9.rc1 lib/active_support/core_ext/range/include_range.rb
activesupport-3.1.0.rc2 lib/active_support/core_ext/range/include_range.rb
activesupport-3.0.8 lib/active_support/core_ext/range/include_range.rb
activesupport-3.0.8.rc4 lib/active_support/core_ext/range/include_range.rb
activesupport-3.0.8.rc2 lib/active_support/core_ext/range/include_range.rb
activesupport-3.0.8.rc1 lib/active_support/core_ext/range/include_range.rb