Class: Functo

Inherits:
Module
  • Object
show all
Defined in:
lib/functo.rb,
lib/functo/version.rb

Constant Summary collapse

MAX_ARGUMENTS =
3
VERSION =
"0.1.2"

Class Method Summary collapse

Class Method Details

.call(*names) ⇒ Object



12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# File 'lib/functo.rb', line 12

def self.call(*names)
  output = names.shift

  if names.first.is_a?(Hash)
    inputs = names.first
    filters = inputs.values
    names = inputs.keys
  else
    filters = []
  end

  if names.length > MAX_ARGUMENTS
    raise ArgumentError.new("given #{names.length} arguments when only #{MAX_ARGUMENTS} are allowed")
  end

  new(names, filters, output)
end

.passObject



8
9
10
# File 'lib/functo.rb', line 8

def self.pass
  Proc.new { |obj| obj }
end