Sha256: 746569a8e1458fa9ae5353d7533fb9740412231cc52eee5499b6e142cdc6a1f8

Contents?: true

Size: 678 Bytes

Versions: 3

Compression:

Stored size: 678 Bytes

Contents

class BlocklyInterpreter::CoreBlocks::ProceduresCallReturnBlock < BlocklyInterpreter::CoreBlocks::ProcedureBlock
  self.block_type = :procedures_callreturn

  def procedure_name
    @procedure_name ||= mutation.try!(:[], 'name')
  end

  def value(execution_context)
    execution_context.value_for_procedure(procedure_name, arg_values(execution_context))
  end

  module DSLMethods
    def procedures_callreturn(name, &proc)
      builder = BlocklyInterpreter::CoreBlocks::ProcedureBlock::DSLMethods::ProcedureCallBlockBuilder.new("procedures_callreturn", name)

      @blocks << builder.tap do |builder|
        builder.instance_exec(&proc) if proc
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
blockly_interpreter-0.3.0 lib/blockly_interpreter/core_blocks/procedures_call_return_block.rb
blockly_interpreter-0.2.1 lib/blockly_interpreter/core_blocks/procedures_call_return_block.rb
blockly_interpreter-0.2.0 lib/blockly_interpreter/core_blocks/procedures_call_return_block.rb