Class: Sinclair::MethodDefinition::BlockDefinition Abstract Private
- Inherits:
-
Sinclair::MethodDefinition
- Object
- Sinclair::MethodDefinition
- Sinclair::MethodDefinition::BlockDefinition
- Defined in:
- lib/sinclair/method_definition/block_definition.rb
Overview
This class is part of a private API. You should avoid using this class if possible, as it may be removed or be changed in the future.
Define a method from block
Constant Summary
Constants inherited from Sinclair::MethodDefinition
Instance Attribute Summary
Attributes inherited from Sinclair::MethodDefinition
Attributes included from OptionsParser
Instance Method Summary collapse
-
#build(klass, type) ⇒ Symbol
private
Builds the method defined.
-
#initialize(name, **options, &block) ⇒ BlockDefinition
constructor
private
A new instance of BlockDefinition.
-
#method_block ⇒ Proc
private
Returns the block that will be used for method creattion.
Methods inherited from Sinclair::MethodDefinition
build_with, default_value, for, from
Methods included from OptionsParser
Constructor Details
#initialize(name, **options, &block) ⇒ BlockDefinition
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
Returns a new instance of BlockDefinition.
17 18 19 20 |
# File 'lib/sinclair/method_definition/block_definition.rb', line 17 def initialize(name, **, &block) @block = block super(name, **) end |
Instance Method Details
#build(klass, type) ⇒ Symbol
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
Builds the method defined
The method is built using Sinclair::MethodBuilder::BlockMethodBuilder
10 |
# File 'lib/sinclair/method_definition/block_definition.rb', line 10 build_with MethodBuilder::BlockMethodBuilder |
#method_block ⇒ Proc
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
Returns the block that will be used for method creattion
28 29 30 31 32 33 34 35 36 37 |
# File 'lib/sinclair/method_definition/block_definition.rb', line 28 def method_block return block unless cached? case cached when :full BlockHelper.full_cached_method_proc(name, &block) else BlockHelper.cached_method_proc(name, &block) end end |