Module: Lab42::Curry
- Defined in:
- lib/lab42/curry.rb,
lib/lab42/curry/errors.rb,
lib/lab42/curry/currier.rb,
lib/lab42/curry/version.rb,
lib/lab42/curry/runtime_arg.rb,
lib/lab42/curry/arg_compiler.rb,
lib/lab42/curry/computed_arg.rb,
lib/lab42/curry/compiletime_args.rb,
lib/lab42/curry/arg_compiler/phase2.rb,
lib/lab42/curry/arg_compiler/positionals.rb
Defined Under Namespace
Classes: ArgCompiler, CompiletimeArgs, ComputedArg, Currier, RuntimeArg
Constant Summary
collapse
- DuplicateBlock =
Class.new RuntimeError
- DuplicateKeywordArgument =
Class.new RuntimeError
- DuplicatePositionSpecification =
Class.new RuntimeError
- MissingRuntimeArg =
Class.new RuntimeError
- VERSION =
"0.2.0"
Instance Method Summary
collapse
Instance Method Details
#compiletime_args(positions) ⇒ Object
Also known as:
ct_args
16
17
18
|
# File 'lib/lab42/curry.rb', line 16
def compiletime_args(positions)
CompiletimeArgs.new(positions)
end
|
#compute_arg(position = nil, &blk) ⇒ Object
Also known as:
comp
21
22
23
|
# File 'lib/lab42/curry.rb', line 21
def compute_arg(position = nil, &blk)
ComputedArg.new(position, blk)
end
|
#curry(method_or_name, *curry_time_args, **curry_time_kwds, &blk) ⇒ Object
8
9
10
|
# File 'lib/lab42/curry.rb', line 8
def curry(method_or_name, *curry_time_args, **curry_time_kwds, &blk)
Currier.new(method_or_name, curry_time_args, curry_time_kwds, context: self, &blk)
end
|
#curry!(method_or_name, *curry_time_args, **curry_time_kwds, &blk) ⇒ Object
12
13
14
|
# File 'lib/lab42/curry.rb', line 12
def curry!(method_or_name, *curry_time_args, **curry_time_kwds, &blk)
Currier.new(method_or_name, curry_time_args, curry_time_kwds, context: self, allow_override: true, &blk)
end
|
#runtime_arg(position = nil) ⇒ Object
Also known as:
rt_arg
26
27
28
|
# File 'lib/lab42/curry.rb', line 26
def runtime_arg position=nil
RuntimeArg.new position
end
|