Class: Functo

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

Defined Under Namespace

Modules: Compose

Constant Summary collapse

MAX_ATTRIBUTES =
3
PASS =
'__FUNCTO_PASS__'.freeze
VERSION =
"0.1.6"

Class Method Summary collapse

Class Method Details

.call(*args) ⇒ Object



24
25
26
# File 'lib/functo.rb', line 24

def call(*args)
  new(*parse_args(args))
end

.passObject



20
21
22
# File 'lib/functo.rb', line 20

def pass
  PASS
end

.wrap(function = nil, &block) ⇒ Object



11
12
13
14
15
16
17
18
# File 'lib/functo.rb', line 11

def wrap(function = nil, &block)
  function ||= block if block_given?

  Class.new.tap do |klass|
    klass.define_singleton_method(:call, &function)
    klass.extend(Functo::Compose)
  end
end