Module: Enumerable

Defined in:
lib/lab42/stream/core/enumerable.rb

Instance Method Summary collapse

Instance Method Details

#ordered_by(*beh, &blk) ⇒ Object

Raises:

  • (ArgumentError)


2
3
4
5
6
7
8
9
10
11
12
13
# File 'lib/lab42/stream/core/enumerable.rb', line 2

def ordered_by *beh, &blk
  raise ArgumentError, 'need exactly one of block and behavior' if !blk == beh.empty?
  
  beh = blk || (Symbol === beh.first ? sendmsg( *beh ) : beh.first )

  
  sort do | a, b |
    a == b ? 0 : (
      beh.(a, b) ? -1 : 1
  )
  end
end

#to_streamObject



15
# File 'lib/lab42/stream/core/enumerable.rb', line 15

def to_stream; finite_stream self end