Module: Ruby::Merge::BlockBindingSupport
- Defined in:
- lib/ruby/merge/block_binding_support.rb
Overview
Parser-neutral naming policy for a block-local receiver.
Class Method Summary collapse
- .effective_receiver(receiver, block_var, placeholder: :__block_binding__) ⇒ Object
- .merged_block_var(var, preferred_var) ⇒ Object
- .preferred_block_var(template_var, destination_var) ⇒ Object
Class Method Details
.effective_receiver(receiver, block_var, placeholder: :__block_binding__) ⇒ Object
9 10 11 |
# File 'lib/ruby/merge/block_binding_support.rb', line 9 def effective_receiver(receiver, block_var, placeholder: :__block_binding__) block_var && receiver == block_var ? placeholder : receiver end |
.merged_block_var(var, preferred_var) ⇒ Object
17 18 19 |
# File 'lib/ruby/merge/block_binding_support.rb', line 17 def merged_block_var(var, preferred_var) preferred_var || var end |
.preferred_block_var(template_var, destination_var) ⇒ Object
13 14 15 |
# File 'lib/ruby/merge/block_binding_support.rb', line 13 def preferred_block_var(template_var, destination_var) template_var if template_var && destination_var && template_var != destination_var end |