Module: Comparable

Module | Comparable
In: | lib/core/facets/comparable/cap.rb lib/core/facets/comparable/clip.rb lib/core/facets/comparable/cmp.rb

### Methods

at_least at_most bound cap clip cmp

### Public Instance methods

at_least(lower)

Returns the lower of self or x.

      4.at_least(5)  #=> 5
      6.at_least(5)  #=> 6

CREDIT: Florian Gross

[Source]

    # File lib/core/facets/comparable/cap.rb, line 10
      def at_least(lower)
        (self >= lower) ? self : lower
      end

at_most(upper)

Returns the greater of self or x.

      4.at_most(5)  #=> 4
      6.at_most(5)  #=> 5

CREDIT: Florian Gross

[Source]

    # File lib/core/facets/comparable/cap.rb, line 21
      def at_most(upper)
        (self <= upper) ? self : upper
      end

bound(lower, upper=nil)

Alias for clip

cap(upper)

Alias for at_most

clip(lower, upper=nil)

Returns self if above the given lower bound, or within the given lower and upper bounds, otherwise returns the the bound of which the value falls outside.

      4.clip(3)    #=> 4
      4.clip(5)    #=> 5
      4.clip(2,7)  #=> 4
      9.clip(2,7)  #=> 7
      1.clip(2,7)  #=> 2

CREDIT Florian Gross, Trans

[Source]

    # File lib/core/facets/comparable/clip.rb, line 16
      def clip(lower, upper=nil)
        return lower if self < lower
        return self unless upper
        return upper if self > upper
        return self
      end

cmp(o)

Alternate name for comparison operator #<=>.

      3.cmp(1)   #=>  1
      3.cmp(3)   #=>  0
      3.cmp(10)  #=> -1

This fundamental compare method is used to keep comparison compatible with `succ`.

CREDIT: Peter Vanbroekhoven

[Source]

    # File lib/core/facets/comparable/cmp.rb, line 14
      def cmp(o)
        self<=>o
      end

[Validate]