Sha256: d8fe5b37f24fad69292350876811a18ddf2dc305a69a9dce699b74f6e5fce520

Contents?: true

Size: 728 Bytes

Versions: 3

Compression:

Stored size: 728 Bytes

Contents

require 'facets/core/range/umbrella'

class Range

  # Uses the Range#umbrella method to determine
  # if another Range is _anywhere_ within this Range.
  #
  #   (1..3).within?(0..4)  #=> true
  #
  def within?(rng)
    case rng.umbrella(self)
    when [0,0], [-1,0], [0,-1], [-1,-1]
      return true
    else
      return false
    end
  end

end



#  _____         _
# |_   _|__  ___| |_
#   | |/ _ \/ __| __|
#   | |  __/\__ \ |_
#   |_|\___||___/\__|
#
=begin test

  require 'test/unit'

  class TCRange < Test::Unit::TestCase

    def test_within?
      assert( (4..5).within?(3..6) )
      assert( (3..6).within?(3..6) )
      assert(! (2..5).within?(3..6) )
      assert(! (5..7).within?(3..6) )
    end

  end

=end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
facets-1.8.51 lib/facets/core/range/within.rb
facets-1.8.49 lib/facets/core/range/within.rb
facets-1.8.54 lib/facets/core/range/within.rb