Sha256: d2b8af0493e5ee474aca2c56d22ea43ad5063a3cbe9eccc19ffaac9c900dafec

Contents?: true

Size: 696 Bytes

Versions: 3

Compression:

Stored size: 696 Bytes

Contents

class BlocklyInterpreter::CoreBlocks::ProceduresCallNoReturnBlock < BlocklyInterpreter::CoreBlocks::ProcedureBlock
  self.block_type = :procedures_callnoreturn

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

  def execute_statement(execution_context)
    execution_context.execute_procedure(procedure_name, arg_values(execution_context))
  end

  module DSLMethods
    def procedures_callnoreturn(name, &proc)
      builder = BlocklyInterpreter::CoreBlocks::ProcedureBlock::DSLMethods::ProcedureCallBlockBuilder.new("procedures_callnoreturn", 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_no_return_block.rb
blockly_interpreter-0.2.1 lib/blockly_interpreter/core_blocks/procedures_call_no_return_block.rb
blockly_interpreter-0.2.0 lib/blockly_interpreter/core_blocks/procedures_call_no_return_block.rb