Sha256: b26d9532a1ac9fe55a5b99b0112cfcf9440ae4e6f96a3fcfcd0c85fea233a662

Contents?: true

Size: 722 Bytes

Versions: 22

Compression:

Stored size: 722 Bytes

Contents

require 'facet/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

22 entries across 22 versions & 1 rubygems

Version Path
facets-1.0.0 lib/facet/range/within.rb
facets-1.0.3 packages/core/lib/facet/range/within.rb
facets-1.2.1 lib/facets/core/range/within.rb
facets-1.3.0 lib/facets/core/range/within.rb
facets-1.1.0 lib/facet/range/within.rb
facets-1.2.0 lib/facets/core/range/within.rb
facets-1.3.1 lib/facets/core/range/within.rb
facets-1.3.3 lib/facets/core/range/within.rb
facets-1.3.2 lib/facets/core/range/within.rb
facets-1.4.0 lib/facets/core/range/within.rb
facets-1.4.2 lib/facets/core/range/within.rb
facets-1.4.1 lib/facets/core/range/within.rb
facets-1.4.3 lib/facets/core/range/within.rb
facets-1.4.5 lib/facets/core/range/within.rb
facets-1.4.4 lib/facets/core/range/within.rb
facets-1.7.30 lib/facets/core/range/within.rb
facets-1.7.38 lib/facets/core/range/within.rb
facets-1.7.0 lib/facets/core/range/within.rb
facets-1.7.46 lib/facets/core/range/within.rb
facets-1.8.0 lib/facets/core/range/within.rb