Sha256: 15f471ec58089d526b26f96fd2a02ecee0f224426fff12ff44e3973411da2445
Contents?: true
Size: 561 Bytes
Versions: 1
Compression:
Stored size: 561 Bytes
Contents
require 'hashmake' module SPNet class CommandInPort < InPort include Hashmake::HashMakeable ARG_SPECS = [ Hashmake::ArgSpec.new(:key => :command_map, :reqd => true, :type => Proc, :container => Hashmake::ArgSpec::CONTAINER_HASH), ] def initialize hashed_args hash_make(CommandInPort::ARG_SPECS, hashed_args) hashed_args.merge!(:matching_port_class => CommandOutPort) super(hashed_args) end def list_commands @command_map.keys end def exec_command command, data @command_map[command].call data end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
spnet-0.1.4 | lib/spnet/ports/command_in_port.rb |