spnet 0.1.4 → 0.1.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/README.rdoc +6 -3
- data/lib/spnet.rb +23 -5
- data/lib/spnet/core/block.rb +46 -0
- data/lib/spnet/core/in_port.rb +41 -0
- data/lib/spnet/core/limiter.rb +30 -0
- data/lib/spnet/core/link.rb +70 -0
- data/lib/spnet/core/network.rb +54 -0
- data/lib/spnet/core/out_port.rb +41 -0
- data/lib/spnet/limiters/enum_limiter.rb +24 -0
- data/lib/spnet/limiters/lower_limiter.rb +31 -0
- data/lib/spnet/limiters/no_limiter.rb +11 -0
- data/lib/spnet/limiters/range_limiter.rb +24 -0
- data/lib/spnet/limiters/upper_limiter.rb +31 -0
- data/lib/spnet/ports/command_in_port.rb +16 -8
- data/lib/spnet/ports/command_out_port.rb +17 -11
- data/lib/spnet/ports/param_in_port.rb +42 -0
- data/lib/spnet/ports/param_out_port.rb +32 -0
- data/lib/spnet/ports/signal_in_port.rb +20 -15
- data/lib/spnet/ports/signal_out_port.rb +12 -7
- data/lib/spnet/storage/block_state.rb +41 -0
- data/lib/spnet/storage/link_state.rb +38 -0
- data/lib/spnet/storage/network_state.rb +44 -0
- data/lib/spnet/storage/port_locater.rb +21 -0
- data/lib/spnet/version.rb +2 -1
- data/spec/core/block_spec.rb +80 -0
- data/spec/core/in_port_spec.rb +46 -0
- data/spec/core/limiter_spec.rb +7 -0
- data/spec/core/link_spec.rb +103 -0
- data/spec/core/network_spec.rb +40 -0
- data/spec/core/out_port_spec.rb +46 -0
- data/spec/limiters/enum_limiter_spec.rb +28 -0
- data/spec/limiters/lower_limiter_spec.rb +48 -0
- data/spec/limiters/no_limiter_spec.rb +12 -0
- data/spec/limiters/range_limiter_spec.rb +121 -0
- data/spec/limiters/upper_limiter_spec.rb +47 -0
- data/spec/ports/command_out_port_spec.rb +8 -15
- data/spec/ports/{value_in_port_spec.rb → param_in_port_spec.rb} +2 -2
- data/spec/ports/param_out_port_spec.rb +34 -0
- data/spec/ports/signal_in_port_spec.rb +2 -1
- data/spec/ports/signal_out_port_spec.rb +6 -37
- data/spec/spec_helper.rb +43 -0
- data/spec/storage/block_state_spec.rb +40 -0
- data/spec/storage/link_state_spec.rb +28 -0
- data/spec/storage/network_state_spec.rb +42 -0
- data/spec/storage/port_locater_spec.rb +11 -0
- data/spnet.gemspec +0 -1
- metadata +55 -35
- data/lib/spnet/block.rb +0 -40
- data/lib/spnet/in_port.rb +0 -29
- data/lib/spnet/out_port.rb +0 -64
- data/lib/spnet/ports/value_in_port.rb +0 -27
- data/lib/spnet/ports/value_out_port.rb +0 -28
- data/spec/block_spec.rb +0 -38
- data/spec/in_port_spec.rb +0 -29
- data/spec/out_port_spec.rb +0 -46
- data/spec/ports/value_out_port_spec.rb +0 -41
@@ -0,0 +1,47 @@
|
|
1
|
+
require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
|
2
|
+
|
3
|
+
describe SPNet::UpperLimiter do
|
4
|
+
describe '.apply_limit' do
|
5
|
+
context 'non-inclusive' do
|
6
|
+
before :all do
|
7
|
+
@upper = 1
|
8
|
+
@limiter = UpperLimiter.new(@upper, false)
|
9
|
+
end
|
10
|
+
|
11
|
+
it 'should return the given value it it is below the upper limit' do
|
12
|
+
ok_values = [@upper - Float::EPSILON, @upper / 2.0]
|
13
|
+
limited_values = ok_values.map { |value| @limiter.apply_limit value }
|
14
|
+
limited_values.should eq(ok_values)
|
15
|
+
end
|
16
|
+
|
17
|
+
it 'should return the upper limit + Float::EPSILON if the given value is at or below the upper limit' do
|
18
|
+
bad_values = [@upper, @upper + Float::EPSILON, @upper * 2.0]
|
19
|
+
limited_values = bad_values.map { |value| @limiter.apply_limit value }
|
20
|
+
limited_values.each do |value|
|
21
|
+
value.should eq(@upper - Float::EPSILON)
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
context 'inclusive upper limit, non-inclusive upper limit' do
|
27
|
+
before :all do
|
28
|
+
@upper = 1
|
29
|
+
@limiter = UpperLimiter.new(@upper, true)
|
30
|
+
end
|
31
|
+
|
32
|
+
it 'should return the given value it it is at or below the upper limit' do
|
33
|
+
ok_values = [@upper, @upper - Float::EPSILON, @upper / 2.0]
|
34
|
+
limited_values = ok_values.map { |value| @limiter.apply_limit value }
|
35
|
+
limited_values.should eq(ok_values)
|
36
|
+
end
|
37
|
+
|
38
|
+
it 'should return the upper limit if the given value is below the upper limit' do
|
39
|
+
bad_values = [@upper + Float::EPSILON, @upper * 2.0]
|
40
|
+
limited_values = bad_values.map { |value| @limiter.apply_limit value }
|
41
|
+
limited_values.each do |value|
|
42
|
+
value.should eq(@upper)
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|
@@ -1,6 +1,6 @@
|
|
1
1
|
require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
|
2
2
|
|
3
|
-
describe SPNet::
|
3
|
+
describe SPNet::ParamOutPort do
|
4
4
|
before :each do
|
5
5
|
@in_port = SPNet::CommandInPort.new(
|
6
6
|
:command_map => {
|
@@ -13,27 +13,20 @@ describe SPNet::ValueOutPort do
|
|
13
13
|
@out_port = SPNet::CommandOutPort.new
|
14
14
|
end
|
15
15
|
|
16
|
-
describe '#add_link' do
|
17
|
-
it 'should raise ArgumentError if port is not ValueInPort' do
|
18
|
-
@in_port2 = SPNet::SignalInPort.new
|
19
|
-
lambda { @out_port.add_link(@in_port2) }.should raise_error(ArgumentError)
|
20
|
-
end
|
21
|
-
end
|
22
|
-
|
23
16
|
describe '#list_commands' do
|
24
17
|
it 'should pass back the return value from the list_commands handler' do
|
25
|
-
@out_port.
|
26
|
-
@out_port.list_commands.should eq([
|
18
|
+
@out_port.set_link Link.new(:from => @out_port, :to => @in_port)
|
19
|
+
@out_port.list_commands.should eq([:add, :sub, :mul, :div])
|
27
20
|
end
|
28
21
|
end
|
29
22
|
|
30
23
|
describe '#exec_command' do
|
31
24
|
it 'should pass the command and data to the exec_command handler, and pass back the return value' do
|
32
|
-
@out_port.
|
33
|
-
@out_port.exec_command(:add, [1,2]).should eq(
|
34
|
-
@out_port.exec_command(:sub, [5,4]).should eq(
|
35
|
-
@out_port.exec_command(:mul, [3,2]).should eq(
|
36
|
-
@out_port.exec_command(:div, [9,3]).should eq(
|
25
|
+
@out_port.set_link Link.new(:from => @out_port, :to => @in_port)
|
26
|
+
@out_port.exec_command(:add, [1,2]).should eq(3)
|
27
|
+
@out_port.exec_command(:sub, [5,4]).should eq(1)
|
28
|
+
@out_port.exec_command(:mul, [3,2]).should eq(6)
|
29
|
+
@out_port.exec_command(:div, [9,3]).should eq(3)
|
37
30
|
end
|
38
31
|
end
|
39
32
|
|
@@ -1,6 +1,6 @@
|
|
1
1
|
require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
|
2
2
|
|
3
|
-
describe SPNet::
|
3
|
+
describe SPNet::ParamInPort do
|
4
4
|
before :each do
|
5
5
|
@value = 0
|
6
6
|
|
@@ -12,7 +12,7 @@ describe SPNet::ValueInPort do
|
|
12
12
|
return @value
|
13
13
|
end
|
14
14
|
|
15
|
-
@port = SPNet::
|
15
|
+
@port = SPNet::ParamInPort.new :get_value_handler => get_value_handler, :set_value_handler => set_value_handler
|
16
16
|
end
|
17
17
|
|
18
18
|
describe '#set_value' do
|
@@ -0,0 +1,34 @@
|
|
1
|
+
require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
|
2
|
+
|
3
|
+
describe SPNet::ParamOutPort do
|
4
|
+
before :each do
|
5
|
+
@value = 0
|
6
|
+
|
7
|
+
set_value_handler = lambda do |value|
|
8
|
+
return @value = value
|
9
|
+
end
|
10
|
+
|
11
|
+
get_value_handler = lambda do
|
12
|
+
return @value
|
13
|
+
end
|
14
|
+
|
15
|
+
@out_port = SPNet::ParamOutPort.new
|
16
|
+
@in_port = SPNet::ParamInPort.new :get_value_handler => get_value_handler, :set_value_handler => set_value_handler
|
17
|
+
end
|
18
|
+
|
19
|
+
describe '#set_value' do
|
20
|
+
it 'should pass the given value through ParamInPort#set_value' do
|
21
|
+
@out_port.set_link Link.new(:to => @in_port, :from => @out_port)
|
22
|
+
@out_port.set_value 5
|
23
|
+
@value.should eq(5)
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
describe '#get_value' do
|
28
|
+
it "should return the value from each linked port's ParamInPort#get_value" do
|
29
|
+
@value = 7
|
30
|
+
@out_port.set_link Link.new(:to => @in_port, :from => @out_port)
|
31
|
+
@out_port.get_value.should eq(7)
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
@@ -18,7 +18,8 @@ describe SPNet::SignalInPort do
|
|
18
18
|
end
|
19
19
|
|
20
20
|
it 'should limit all values before queuing them' do
|
21
|
-
|
21
|
+
limiter = RangeLimiter.new(2.5, true, 5.0, true)
|
22
|
+
port = SPNet::SignalInPort.new(:limiter => limiter)
|
22
23
|
port.enqueue_values([2.4, 2.6, 4.9, 5.1])
|
23
24
|
port.queue.each do |value|
|
24
25
|
value.should be_between(2.5, 5.0)
|
@@ -6,44 +6,13 @@ describe SPNet::SignalOutPort do
|
|
6
6
|
@in_port = SPNet::SignalInPort.new
|
7
7
|
end
|
8
8
|
|
9
|
-
describe '#add_link' do
|
10
|
-
it 'should raise ArgumentError if port is not input port' do
|
11
|
-
out_port2 = SPNet::SignalOutPort.new
|
12
|
-
lambda { @out_port.add_link(out_port2) }.should raise_error(ArgumentError)
|
13
|
-
end
|
14
|
-
end
|
15
|
-
|
16
9
|
describe '#send_values' do
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
@in_port.queue.should eq([1,2,3,4])
|
24
|
-
end
|
25
|
-
end
|
26
|
-
|
27
|
-
context 'several linked input ports' do
|
28
|
-
it 'should enqueue the values on each linked input port' do
|
29
|
-
in_port1 = SPNet::SignalInPort.new
|
30
|
-
in_port2 = SPNet::SignalInPort.new(:name => 'def')
|
31
|
-
in_port3 = SPNet::SignalInPort.new(:name => 'ghi')
|
32
|
-
|
33
|
-
@out_port.add_link in_port1
|
34
|
-
@out_port.add_link in_port2
|
35
|
-
@out_port.add_link in_port3
|
36
|
-
|
37
|
-
in_port1.queue.should be_empty
|
38
|
-
in_port2.queue.should be_empty
|
39
|
-
in_port3.queue.should be_empty
|
40
|
-
|
41
|
-
@out_port.send_values [1,2,3,4]
|
42
|
-
|
43
|
-
in_port1.queue.should eq([1,2,3,4])
|
44
|
-
in_port2.queue.should eq([1,2,3,4])
|
45
|
-
in_port3.queue.should eq([1,2,3,4])
|
46
|
-
end
|
10
|
+
it 'should enqueue the values on the linked input port' do
|
11
|
+
@out_port.set_link Link.new(:to => @in_port, :from => @out_port)
|
12
|
+
|
13
|
+
@in_port.queue.should be_empty
|
14
|
+
@out_port.send_values [1,2,3,4]
|
15
|
+
@in_port.queue.should eq([1,2,3,4])
|
47
16
|
end
|
48
17
|
end
|
49
18
|
|
data/spec/spec_helper.rb
CHANGED
@@ -2,3 +2,46 @@ require 'rspec'
|
|
2
2
|
require 'spnet'
|
3
3
|
|
4
4
|
include SPNet
|
5
|
+
|
6
|
+
class TestBlock < Block
|
7
|
+
attr_reader :value1, :value2
|
8
|
+
|
9
|
+
def initialize args
|
10
|
+
raise ArgumentError, "args does not have :sample_rate key" unless args.has_key?(:sample_rate)
|
11
|
+
|
12
|
+
@value1 = 1
|
13
|
+
@value2 = 2
|
14
|
+
@command_history = []
|
15
|
+
|
16
|
+
input = SignalInPort.new
|
17
|
+
output = SignalOutPort.new
|
18
|
+
|
19
|
+
value1 = ParamInPort.new(
|
20
|
+
:get_value_handler => ->(){ @value1 },
|
21
|
+
:set_value_handler => ->(a){ @value1 = a},
|
22
|
+
)
|
23
|
+
|
24
|
+
value2 = ParamInPort.new(
|
25
|
+
:get_value_handler => ->(){ @value2 },
|
26
|
+
:set_value_handler => ->(a){ @value2 = a},
|
27
|
+
)
|
28
|
+
|
29
|
+
command = CommandInPort.new(
|
30
|
+
:command_map => {
|
31
|
+
"SIT" => ->(a){ @command_history.push("SIT") },
|
32
|
+
"STAY" => ->(a){ @command_history.push("STAY") }
|
33
|
+
}
|
34
|
+
)
|
35
|
+
|
36
|
+
pass_through = lambda do |count|
|
37
|
+
output.send_values input.dequeue_values(count)
|
38
|
+
end
|
39
|
+
|
40
|
+
super(
|
41
|
+
:sample_rate => args[:sample_rate],
|
42
|
+
:algorithm => pass_through,
|
43
|
+
:in_ports => { "IN" => input, "VALUE1" => value1, "VALUE2" => value2, "COMMAND" => command },
|
44
|
+
:out_ports => { "OUT" => output }
|
45
|
+
)
|
46
|
+
end
|
47
|
+
end
|
@@ -0,0 +1,40 @@
|
|
1
|
+
require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
|
2
|
+
|
3
|
+
describe SPNet::BlockState do
|
4
|
+
describe '.new' do
|
5
|
+
it 'should assign block class' do
|
6
|
+
block_state = BlockState.new :class_sym => :TestBlock
|
7
|
+
block_state.class_sym.should eq(:TestBlock)
|
8
|
+
end
|
9
|
+
|
10
|
+
it 'should assign port params' do
|
11
|
+
params = {
|
12
|
+
"VALUE1" => 0.0,
|
13
|
+
"VALUE2" => 1.0,
|
14
|
+
}
|
15
|
+
block_state = BlockState.new :class_sym => :TestBlock, :port_params => params
|
16
|
+
block_state.port_params.should eq(params)
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
describe '#make_block' do
|
21
|
+
before :all do
|
22
|
+
@params = {
|
23
|
+
"VALUE1" => 0.1,
|
24
|
+
"VALUE2" => 0.9,
|
25
|
+
}
|
26
|
+
@class_sym = :TestBlock
|
27
|
+
block_state = BlockState.new :class_sym => @class_sym, :port_params => @params
|
28
|
+
@block = block_state.make_block :sample_rate => 2
|
29
|
+
end
|
30
|
+
|
31
|
+
it 'should make a block of the given class type' do
|
32
|
+
@block.class.to_s.to_sym.should eq(@class_sym)
|
33
|
+
end
|
34
|
+
|
35
|
+
it 'should make a block using given port params' do
|
36
|
+
@block.value1.should eq(@params["VALUE1"])
|
37
|
+
@block.value2.should eq(@params["VALUE2"])
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
|
2
|
+
|
3
|
+
describe SPNet::LinkState do
|
4
|
+
describe '.new' do
|
5
|
+
it 'should assign from and to port locaters' do
|
6
|
+
output = PortLocater.new :block_name => "block_A", :port_name => "OUT"
|
7
|
+
input = PortLocater.new :block_name => "block_B", :port_name => "IN"
|
8
|
+
link_state = LinkState.new :from => output, :to => input
|
9
|
+
link_state.from.should eq(output)
|
10
|
+
link_state.to.should eq(input)
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
14
|
+
describe '#make_link' do
|
15
|
+
it 'should make a Link object, given good blocks' do
|
16
|
+
blocks = {
|
17
|
+
"block_A" => TestBlock.new(:sample_rate => 2),
|
18
|
+
"block_B" => TestBlock.new(:sample_rate => 2),
|
19
|
+
}
|
20
|
+
output = PortLocater.new :block_name => "block_A", :port_name => "OUT"
|
21
|
+
input = PortLocater.new :block_name => "block_B", :port_name => "IN"
|
22
|
+
link_state = LinkState.new :from => output, :to => input
|
23
|
+
link = link_state.make_link blocks
|
24
|
+
link.from.should eq blocks["block_A"].out_ports["OUT"]
|
25
|
+
link.to.should eq blocks["block_B"].in_ports["IN"]
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
@@ -0,0 +1,42 @@
|
|
1
|
+
require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
|
2
|
+
|
3
|
+
describe SPNet::NetworkState do
|
4
|
+
describe '.make_network' do
|
5
|
+
before :all do
|
6
|
+
@network_state = NetworkState.new(
|
7
|
+
:block_states => {
|
8
|
+
"A" => BlockState.new(:class_sym => :TestBlock, :hashed_args => {}, :port_params => { "VALUE1" => 0.2}),
|
9
|
+
"B" => BlockState.new(:class_sym => :TestBlock, :hashed_args => {}, :port_params => { "VALUE1" => 0.4})
|
10
|
+
},
|
11
|
+
:link_states => [
|
12
|
+
LinkState.new(
|
13
|
+
:from => PortLocater.new(:block_name => "A", :port_name => "OUT"),
|
14
|
+
:to => PortLocater.new(:block_name => "B", :port_name => "IN")
|
15
|
+
)
|
16
|
+
]
|
17
|
+
)
|
18
|
+
end
|
19
|
+
|
20
|
+
it 'should create blocks for the given block models' do
|
21
|
+
network = @network_state.make_network :sample_rate => 4
|
22
|
+
network.blocks.should have_key("A")
|
23
|
+
network.blocks["A"].class.should be(TestBlock)
|
24
|
+
network.blocks.should have_key("B")
|
25
|
+
network.blocks["B"].class.should be(TestBlock)
|
26
|
+
end
|
27
|
+
|
28
|
+
it 'should assign values found in :port_params' do
|
29
|
+
network = @network_state.make_network :sample_rate => 4
|
30
|
+
network.blocks["A"].value1.should eq(0.2)
|
31
|
+
network.blocks["B"].value1.should eq(0.4)
|
32
|
+
end
|
33
|
+
|
34
|
+
it 'should create links from :link_states' do
|
35
|
+
network = @network_state.make_network :sample_rate => 4
|
36
|
+
network.links.count.should be 1
|
37
|
+
network.links.first.from.should eq(network.blocks["A"].out_ports["OUT"])
|
38
|
+
network.links.first.to.should eq(network.blocks["B"].in_ports["IN"])
|
39
|
+
end
|
40
|
+
|
41
|
+
end
|
42
|
+
end
|
@@ -0,0 +1,11 @@
|
|
1
|
+
require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
|
2
|
+
|
3
|
+
describe SPNet::PortLocater do
|
4
|
+
describe '.new' do
|
5
|
+
it 'should assign block and port name' do
|
6
|
+
locater = PortLocater.new :block_name => "block_A", :port_name => "port_A"
|
7
|
+
locater.block_name.should eq("block_A")
|
8
|
+
locater.port_name.should eq("port_A")
|
9
|
+
end
|
10
|
+
end
|
11
|
+
end
|
data/spnet.gemspec
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: spnet
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.5
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-
|
12
|
+
date: 2013-03-18 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: hashmake
|
@@ -27,22 +27,6 @@ dependencies:
|
|
27
27
|
- - ! '>='
|
28
28
|
- !ruby/object:Gem::Version
|
29
29
|
version: '0'
|
30
|
-
- !ruby/object:Gem::Dependency
|
31
|
-
name: spcore
|
32
|
-
requirement: !ruby/object:Gem::Requirement
|
33
|
-
none: false
|
34
|
-
requirements:
|
35
|
-
- - ! '>='
|
36
|
-
- !ruby/object:Gem::Version
|
37
|
-
version: '0'
|
38
|
-
type: :runtime
|
39
|
-
prerelease: false
|
40
|
-
version_requirements: !ruby/object:Gem::Requirement
|
41
|
-
none: false
|
42
|
-
requirements:
|
43
|
-
- - ! '>='
|
44
|
-
- !ruby/object:Gem::Version
|
45
|
-
version: '0'
|
46
30
|
- !ruby/object:Gem::Dependency
|
47
31
|
name: bundler
|
48
32
|
requirement: !ruby/object:Gem::Requirement
|
@@ -141,27 +125,51 @@ files:
|
|
141
125
|
- README.rdoc
|
142
126
|
- Rakefile
|
143
127
|
- lib/spnet.rb
|
144
|
-
- lib/spnet/block.rb
|
145
|
-
- lib/spnet/in_port.rb
|
146
|
-
- lib/spnet/
|
128
|
+
- lib/spnet/core/block.rb
|
129
|
+
- lib/spnet/core/in_port.rb
|
130
|
+
- lib/spnet/core/limiter.rb
|
131
|
+
- lib/spnet/core/link.rb
|
132
|
+
- lib/spnet/core/network.rb
|
133
|
+
- lib/spnet/core/out_port.rb
|
134
|
+
- lib/spnet/limiters/enum_limiter.rb
|
135
|
+
- lib/spnet/limiters/lower_limiter.rb
|
136
|
+
- lib/spnet/limiters/no_limiter.rb
|
137
|
+
- lib/spnet/limiters/range_limiter.rb
|
138
|
+
- lib/spnet/limiters/upper_limiter.rb
|
147
139
|
- lib/spnet/ports/command_in_port.rb
|
148
140
|
- lib/spnet/ports/command_out_port.rb
|
141
|
+
- lib/spnet/ports/param_in_port.rb
|
142
|
+
- lib/spnet/ports/param_out_port.rb
|
149
143
|
- lib/spnet/ports/signal_in_port.rb
|
150
144
|
- lib/spnet/ports/signal_out_port.rb
|
151
|
-
- lib/spnet/
|
152
|
-
- lib/spnet/
|
145
|
+
- lib/spnet/storage/block_state.rb
|
146
|
+
- lib/spnet/storage/link_state.rb
|
147
|
+
- lib/spnet/storage/network_state.rb
|
148
|
+
- lib/spnet/storage/port_locater.rb
|
153
149
|
- lib/spnet/version.rb
|
154
|
-
- spec/block_spec.rb
|
155
|
-
- spec/in_port_spec.rb
|
156
|
-
- spec/
|
150
|
+
- spec/core/block_spec.rb
|
151
|
+
- spec/core/in_port_spec.rb
|
152
|
+
- spec/core/limiter_spec.rb
|
153
|
+
- spec/core/link_spec.rb
|
154
|
+
- spec/core/network_spec.rb
|
155
|
+
- spec/core/out_port_spec.rb
|
156
|
+
- spec/limiters/enum_limiter_spec.rb
|
157
|
+
- spec/limiters/lower_limiter_spec.rb
|
158
|
+
- spec/limiters/no_limiter_spec.rb
|
159
|
+
- spec/limiters/range_limiter_spec.rb
|
160
|
+
- spec/limiters/upper_limiter_spec.rb
|
157
161
|
- spec/ports/command_in_port_spec.rb
|
158
162
|
- spec/ports/command_out_port_spec.rb
|
163
|
+
- spec/ports/param_in_port_spec.rb
|
164
|
+
- spec/ports/param_out_port_spec.rb
|
159
165
|
- spec/ports/signal_in_port_spec.rb
|
160
166
|
- spec/ports/signal_out_port_spec.rb
|
161
|
-
- spec/ports/value_in_port_spec.rb
|
162
|
-
- spec/ports/value_out_port_spec.rb
|
163
167
|
- spec/spec_helper.rb
|
164
168
|
- spec/spnet_spec.rb
|
169
|
+
- spec/storage/block_state_spec.rb
|
170
|
+
- spec/storage/link_state_spec.rb
|
171
|
+
- spec/storage/network_state_spec.rb
|
172
|
+
- spec/storage/port_locater_spec.rb
|
165
173
|
- spnet.gemspec
|
166
174
|
homepage: https://rubygems.org/gems/spnet
|
167
175
|
licenses:
|
@@ -178,7 +186,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
178
186
|
version: '0'
|
179
187
|
segments:
|
180
188
|
- 0
|
181
|
-
hash: -
|
189
|
+
hash: -699340785
|
182
190
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
183
191
|
none: false
|
184
192
|
requirements:
|
@@ -187,7 +195,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
187
195
|
version: '0'
|
188
196
|
segments:
|
189
197
|
- 0
|
190
|
-
hash: -
|
198
|
+
hash: -699340785
|
191
199
|
requirements: []
|
192
200
|
rubyforge_project:
|
193
201
|
rubygems_version: 1.8.23
|
@@ -195,15 +203,27 @@ signing_key:
|
|
195
203
|
specification_version: 3
|
196
204
|
summary: Provide infrastructure for forming processing networks.
|
197
205
|
test_files:
|
198
|
-
- spec/block_spec.rb
|
199
|
-
- spec/in_port_spec.rb
|
200
|
-
- spec/
|
206
|
+
- spec/core/block_spec.rb
|
207
|
+
- spec/core/in_port_spec.rb
|
208
|
+
- spec/core/limiter_spec.rb
|
209
|
+
- spec/core/link_spec.rb
|
210
|
+
- spec/core/network_spec.rb
|
211
|
+
- spec/core/out_port_spec.rb
|
212
|
+
- spec/limiters/enum_limiter_spec.rb
|
213
|
+
- spec/limiters/lower_limiter_spec.rb
|
214
|
+
- spec/limiters/no_limiter_spec.rb
|
215
|
+
- spec/limiters/range_limiter_spec.rb
|
216
|
+
- spec/limiters/upper_limiter_spec.rb
|
201
217
|
- spec/ports/command_in_port_spec.rb
|
202
218
|
- spec/ports/command_out_port_spec.rb
|
219
|
+
- spec/ports/param_in_port_spec.rb
|
220
|
+
- spec/ports/param_out_port_spec.rb
|
203
221
|
- spec/ports/signal_in_port_spec.rb
|
204
222
|
- spec/ports/signal_out_port_spec.rb
|
205
|
-
- spec/ports/value_in_port_spec.rb
|
206
|
-
- spec/ports/value_out_port_spec.rb
|
207
223
|
- spec/spec_helper.rb
|
208
224
|
- spec/spnet_spec.rb
|
225
|
+
- spec/storage/block_state_spec.rb
|
226
|
+
- spec/storage/link_state_spec.rb
|
227
|
+
- spec/storage/network_state_spec.rb
|
228
|
+
- spec/storage/port_locater_spec.rb
|
209
229
|
has_rdoc:
|