iotas 0.0.3 → 0.0.4

Sign up to get free protection for your applications and to get access to all the features.
data/lib/iotas/door.rb CHANGED
@@ -44,7 +44,7 @@ module Iotas
44
44
  #
45
45
  def require_p p_kls
46
46
  p = @spin.require_p p_kls
47
- p.src = self
47
+ p.init! self
48
48
  p
49
49
  end
50
50
  #
@@ -72,14 +72,16 @@ module Iotas
72
72
  @spin.release_p p
73
73
  end
74
74
  #
75
- def send_p p
76
- p.src = self
75
+ def send_p p, a=nil
76
+ p.init! self
77
+ p.set_dst! a, self if a
77
78
  @saved=nil if @saved==p # particle is sent back the data, all is good
78
79
  @parent.send_p p # daddy will know what to do
79
80
  end
80
81
  #
81
- def send_sys_p p
82
- p.src = self
82
+ def send_sys_p p, a=nil
83
+ p.init! self
84
+ p.set_dst! a, self if a
83
85
  @saved=nil if @saved==p # particle is sent back the data, all is good
84
86
  @parent.send_sys_p p # daddy will know what to do
85
87
  end
@@ -76,16 +76,19 @@ module Iotas
76
76
  end
77
77
  #
78
78
  def reset!
79
- @ts = Time.now
80
- @src = @dst = @room = @door = @action = @link_value = nil
79
+ @ts = @src = @dst = @room = @door = @action = @link_value = nil
81
80
  @dsts.clear
82
81
  @link_fields.clear
83
82
  @payload.clear
84
83
  @merged.clear
85
84
  end
86
85
  #
87
- attr_accessor :src
88
- attr_reader :ts, :dst, :room, :door, :action, :link_value, :payload
86
+ def init! src
87
+ @src = src
88
+ @ts = Time.now
89
+ end
90
+ #
91
+ attr_reader :ts, :src, :dst, :room, :door, :action, :link_value, :payload
89
92
  #
90
93
  # routing
91
94
  #
@@ -107,12 +110,16 @@ module Iotas
107
110
  end
108
111
  end
109
112
  #
110
- def set_dst! a, d=''
111
- @dst = @room = @door = @action = nil
112
- clear_dsts!
113
+ def add_dst a, d=''
113
114
  add_dsts d+Iotas::ACT_SEP+a
114
115
  end
115
116
  #
117
+ def set_dst! a, d
118
+ @room = @door = nil
119
+ @action = a
120
+ @dst = d
121
+ end
122
+ #
116
123
  def split_dst!
117
124
  @dst = @room = @door = @action = nil
118
125
  return if (n = next_dst).nil?
@@ -133,6 +140,12 @@ module Iotas
133
140
  @dsts.shift
134
141
  end
135
142
  #
143
+ def dst_reached!
144
+ d = @dst
145
+ @dst = nil
146
+ d
147
+ end
148
+ #
136
149
  def error! e, dst=nil
137
150
  @action = Iotas::ACT_ERROR
138
151
  @dst = dst||@src
data/lib/iotas/room.rb CHANGED
@@ -134,6 +134,10 @@ module Iotas
134
134
  #
135
135
  def send_p p
136
136
  puts " * send_p #{(p.next_dst.nil? ? 'no dst' : p.next_dst)} ..." if @spin.debug_routing
137
+ if p.dst
138
+ puts " -> #{p.dst.path}#{Iotas::ACT_SEP}#{p.action}" if @spin.debug_routing
139
+ return @spin.post_p p
140
+ end
137
141
  if p.src.nil?
138
142
  # do not route orphan particles !!
139
143
  p.error! Iotas::ERROR_ROUTE_NS, @spin
@@ -156,6 +160,10 @@ module Iotas
156
160
  #
157
161
  def send_sys_p p
158
162
  puts " * send_sys_p #{(p.next_dst.nil? ? 'no dst' : p.next_dst)} ..." if @spin.debug_routing
163
+ if p.dst
164
+ puts " -> #{p.dst.path}#{Iotas::ACT_SEP}#{p.action}" if @spin.debug_routing
165
+ return @spin.post_sys_p p
166
+ end
159
167
  if p.next_dst
160
168
  p.split_dst!
161
169
  if p.door
data/lib/iotas/spin.rb CHANGED
@@ -128,11 +128,11 @@ module Iotas
128
128
  while @run and (@sys_fifo.length>0 or @app_fifo.length>0)
129
129
  while @run and @sys_fifo.length>0
130
130
  p = @sys_fifo.shift
131
- p.dst.process_sys_p p
131
+ p.dst_reached!.process_sys_p p
132
132
  end
133
133
  while @run and @app_fifo.length>0
134
134
  p = @app_fifo.shift
135
- p.dst.process_p p
135
+ p.dst_reached!.process_p p
136
136
  break
137
137
  end
138
138
  end
data/lib/version.rb CHANGED
@@ -21,7 +21,7 @@
21
21
  #
22
22
  module Iotas
23
23
  #
24
- VERSION = "0.0.3"
24
+ VERSION = "0.0.4"
25
25
  #
26
26
  end
27
27
  #
data/spec/board_spec.rb CHANGED
@@ -68,9 +68,9 @@ describe Iotas::Board do
68
68
  b0.process_p p0
69
69
  p0.merged(0).should be_nil
70
70
  # need to set it to p0 too, so case in Board0 is ok
71
- p0.set_dst! Iotas::ACT_FOLLOW
71
+ p0.add_dst Iotas::ACT_FOLLOW
72
72
  p0.split_dst!
73
- p1.set_dst! Iotas::ACT_FOLLOW
73
+ p1.add_dst Iotas::ACT_FOLLOW
74
74
  p1.split_dst!
75
75
  b0.process_p p1
76
76
  b0.ok.should be_true
data/spec/door_spec.rb CHANGED
@@ -55,27 +55,31 @@ describe Iotas::Door do
55
55
  d0 = Door0.new 'door0', f
56
56
  p0 = d0.require_p Iotas::Particle
57
57
  #
58
- p0.set_dst! 'SEND'
58
+ p0.add_dst 'SEND'
59
59
  p0.split_dst!
60
60
  d0.process_p p0
61
61
  f.p.should eql p0
62
+ p0.clear_dsts!
62
63
  #
63
- p0.set_dst! 'SEND_SYS'
64
+ p0.add_dst 'SEND_SYS'
64
65
  p0.split_dst!
65
66
  d0.process_p p0
66
67
  f.sp.should eql p0
68
+ p0.clear_dsts!
67
69
  #
68
- p0.set_dst! 'RELEASE'
70
+ p0.add_dst 'RELEASE'
69
71
  p0.split_dst!
70
72
  d0.process_p p0
71
73
  p1 = d0.require_p Iotas::Particle
72
74
  p1.should be p0
75
+ p0.clear_dsts!
73
76
  #
74
- p0.set_dst! 'LOST'
77
+ p0.add_dst 'LOST'
75
78
  p0.split_dst!
76
79
  d0.process_p p0
77
80
  p1 = d0.require_p Iotas::Particle
78
81
  p1.should be p0
82
+ p0.clear_dsts!
79
83
  #
80
84
  d0.process_sys_p p0
81
85
  p1 = @spin.require_p Iotas::Particle
@@ -80,52 +80,69 @@ describe Iotas::Particle do
80
80
  #
81
81
  it "wrong path should raise exeption" do
82
82
  p = Iotas::Particle.new
83
- lambda { p.set_dst! 'action', '/room' }.should raise_error(Iotas::Exception)
84
- lambda { p.set_dst! 'action', 'room/' }.should raise_error(Iotas::Exception)
85
- lambda { p.set_dst! '', 'room/' }.should raise_error(Iotas::Exception)
86
- lambda { p.set_dst! 'action', 'room//door' }.should raise_error(Iotas::Exception)
87
- lambda { p.set_dst! ' ' }.should raise_error(Iotas::Exception)
88
- lambda { p.set_dst! ' ', '' }.should raise_error(Iotas::Exception)
89
- lambda { p.set_dst! 'f f' }.should raise_error(Iotas::Exception)
90
- lambda { p.set_dst! '', ' d' }.should raise_error(Iotas::Exception)
91
- lambda { p.set_dst! '' }.should raise_error(Iotas::Exception)
92
- lambda { p.set_dst! '', '' }.should raise_error(Iotas::Exception)
93
- lambda { p.set_dst! nil }.should raise_error(TypeError)
94
- lambda { p.set_dst! 'action', nil }.should raise_error(NoMethodError)
83
+ lambda { p.add_dst 'action', '/room' }.should raise_error(Iotas::Exception)
84
+ lambda { p.add_dst 'action', 'room/' }.should raise_error(Iotas::Exception)
85
+ lambda { p.add_dst '', 'room/' }.should raise_error(Iotas::Exception)
86
+ lambda { p.add_dst 'action', 'room//door' }.should raise_error(Iotas::Exception)
87
+ lambda { p.add_dst ' ' }.should raise_error(Iotas::Exception)
88
+ lambda { p.add_dst ' ', '' }.should raise_error(Iotas::Exception)
89
+ lambda { p.add_dst 'f f' }.should raise_error(Iotas::Exception)
90
+ lambda { p.add_dst '', ' d' }.should raise_error(Iotas::Exception)
91
+ lambda { p.add_dst '' }.should raise_error(Iotas::Exception)
92
+ lambda { p.add_dst '', '' }.should raise_error(Iotas::Exception)
93
+ lambda { p.add_dst nil }.should raise_error(TypeError)
94
+ lambda { p.add_dst 'action', nil }.should raise_error(NoMethodError)
95
95
  end
96
96
  #
97
- it "routing: set_dst! and split_dst!" do
97
+ it "routing: set_dst!" do
98
98
  p = Iotas::Particle.new
99
- d0 = Iotas::Door.new 'door0', nil
99
+ d0 = Iotas::Door.new 'door0', nil
100
+ #
101
+ p.set_dst! 'action', d0
102
+ p.action.should eql 'action'
103
+ p.dst.should be d0
104
+ end
105
+ #
106
+ it "routing: add_dst and split_dst!" do
107
+ p = Iotas::Particle.new
108
+ d0 = Iotas::Door.new 'door0', nil
100
109
  #
101
- p.set_dst! 'action', 'room0/room1/door'
110
+ p.split_dst!
111
+ p.room.should be_nil
112
+ p.door.should be_nil
113
+ p.action.should be_nil
114
+ #
115
+ p.add_dst 'action', 'room0/room1/door'
102
116
  p.split_dst!
103
117
  p.room.should eql 'room0/room1'
104
118
  p.door.should eql 'door'
105
119
  p.action.should eql 'action'
120
+ p.clear_dsts!
106
121
  #
107
- p.set_dst! 'action', 'room/door'
122
+ p.add_dst 'action', 'room/door'
108
123
  p.split_dst!
109
124
  p.room.should eql 'room'
110
125
  p.door.should eql 'door'
111
126
  p.action.should eql 'action'
127
+ p.clear_dsts!
112
128
  #
113
- p.set_dst! 'action', ''
129
+ p.add_dst 'action', ''
114
130
  p.split_dst!
115
- p.room.should eql nil
116
- p.door.should eql nil
131
+ p.room.should be_nil
132
+ p.door.should be_nil
117
133
  p.action.should eql 'action'
134
+ p.clear_dsts!
118
135
  #
119
- p.set_dst! 'action'
136
+ p.add_dst 'action'
120
137
  p.split_dst!
121
- p.room.should eql nil
122
- p.door.should eql nil
138
+ p.room.should be_nil
139
+ p.door.should be_nil
123
140
  p.action.should eql 'action'
124
- #
125
141
  p.clear_dsts!
142
+ #
126
143
  p.add_dsts 'door?action,?action'
127
144
  p.split_dst!
128
- p.room.should eql nil
145
+ p.room.should be_nil
129
146
  p.door.should eql 'door'
130
147
  p.action.should eql 'action'
131
148
  #
@@ -133,8 +150,8 @@ describe Iotas::Particle do
133
150
  #
134
151
  p.dst.should be d0
135
152
  p.split_dst!
136
- p.room.should eql nil
137
- p.door.should eql nil
153
+ p.room.should be_nil
154
+ p.door.should be_nil
138
155
  p.action.should eql 'action'
139
156
  #
140
157
  end
@@ -142,7 +159,7 @@ describe Iotas::Particle do
142
159
  it "routing: error!" do
143
160
  p = Iotas::Particle.new
144
161
  d = Iotas::Door.new 'door', nil
145
- p.src = d
162
+ p.init! d
146
163
  p.add_dsts 'door?action,?action'
147
164
  p.next_dst.should eql 'door?action'
148
165
  p.error! 'err_msg'
@@ -193,7 +210,7 @@ describe Iotas::Particle do
193
210
  p0['k0'] = 'v0'
194
211
  p0['k1'] = 'v1'
195
212
  p0['k2'] = 'v2'
196
- p0.src = s3
213
+ p0.init! s3
197
214
  p0.set_link_fields 'k0,k2'
198
215
  p0.add_dsts 'room0/room1/room2/doorX?myaction,door?action,?action'
199
216
  p0.split_dst!
@@ -201,7 +218,7 @@ describe Iotas::Particle do
201
218
  p1['k3'] = 'v6'
202
219
  p1['k4'] = 'v7'
203
220
  p1['k5'] = 'v8'
204
- p1.src = s3
221
+ p1.init! s3
205
222
  p1.dst_routed! s4
206
223
  p1.set_link_fields 'k5,k4,k3'
207
224
  p1.add_dsts 'room0/room1/door?action,output?action'
data/spec/room_spec.rb CHANGED
@@ -58,24 +58,34 @@ describe Iotas::Room do
58
58
  r4.search_down('dom0/r0/r1/r2').should be nil
59
59
  end
60
60
  #
61
- it "routing success (direct)" do
61
+ it "routing success (direct add_dst)" do
62
62
  room0 = Iotas::Room.new 'room0', @spin
63
63
  door0 = Iotas::Door.new 'door0', room0
64
64
  p = @spin.require_p Iotas::Particle
65
- p.src = Fake.new 'fake', @spin
66
- p.set_dst! 'get', 'door0'
65
+ p.init! Fake.new( 'fake', @spin)
66
+ p.add_dst 'get', 'door0'
67
67
  room0.send_p p
68
68
  p.action.should eql 'get'
69
69
  p.dst.should be door0
70
70
  end
71
71
  #
72
+ it "routing success (direct send)" do
73
+ room0 = Iotas::Room.new 'room0', @spin
74
+ door0 = Iotas::Door.new 'door0', room0
75
+ p = @spin.require_p Iotas::Particle
76
+ p.init! Fake.new( 'fake', @spin)
77
+ door0.send_p p, 'get'
78
+ p.action.should eql 'get'
79
+ p.dst.should be door0
80
+ end
81
+ #
72
82
  it "routing success through Spin@world" do
73
83
  room0 = Iotas::Room.new 'room0', @spin
74
84
  room1 = Iotas::Room.new 'room1', room0
75
85
  door0 = Iotas::Door.new 'door0', room1
76
86
  p = @spin.require_p Iotas::Particle
77
- p.src = Fake.new 'fake', @spin
78
- p.set_dst! 'get', 'dom0/room0/room1/door0'
87
+ p.init! Fake.new('fake', @spin)
88
+ p.add_dst 'get', 'dom0/room0/room1/door0'
79
89
  room0.send_p p
80
90
  p.action.should eql 'get'
81
91
  p.dst.should be door0
@@ -84,7 +94,7 @@ describe Iotas::Room do
84
94
  it "route error: no source" do
85
95
  room = Iotas::Room.new 'room', @spin
86
96
  p = @spin.require_p Iotas::Particle
87
- p.set_dst! 'get', 'room/door'
97
+ p.add_dst 'get', 'room/door'
88
98
  room.send_p p
89
99
  p.action.should eql Iotas::ACT_ERROR
90
100
  p[Iotas::FIELD_ERROR_MSG].should eql Iotas::ERROR_ROUTE_NS
@@ -94,7 +104,7 @@ describe Iotas::Room do
94
104
  it "route error: no destination no links" do
95
105
  room = Iotas::Room.new 'room', @spin
96
106
  p = @spin.require_p Iotas::Particle
97
- p.src = Fake.new 'fake', @spin
107
+ p.init! Fake.new('fake', @spin)
98
108
  room.send_p p
99
109
  p.action.should eql Iotas::ACT_ERROR
100
110
  p[Iotas::FIELD_ERROR_MSG].should eql Iotas::ERROR_ROUTE_NDNL
@@ -104,8 +114,8 @@ describe Iotas::Room do
104
114
  it "route error: no rooom, wrong door -> right room wrong door" do
105
115
  room0 = Iotas::Room.new 'room0', @spin
106
116
  p = @spin.require_p Iotas::Particle
107
- p.src = Fake.new 'fake', @spin
108
- p.set_dst! 'get', 'nodoor'
117
+ p.init! Fake.new('fake', @spin)
118
+ p.add_dst 'get', 'nodoor'
109
119
  room0.send_p p
110
120
  p.action.should eql Iotas::ACT_ERROR
111
121
  p[Iotas::FIELD_ERROR_MSG].should eql Iotas::ERROR_ROUTE_RRWD
@@ -115,8 +125,8 @@ describe Iotas::Room do
115
125
  it "route error: right rooom, wrong door -> right room wrong door" do
116
126
  room0 = Iotas::Room.new 'room0', @spin
117
127
  p = @spin.require_p Iotas::Particle
118
- p.src = Fake.new 'fake', @spin
119
- p.set_dst! 'get', 'dom0/room0/nodoor'
128
+ p.init! Fake.new('fake', @spin)
129
+ p.add_dst 'get', 'dom0/room0/nodoor'
120
130
  room0.send_p p
121
131
  p.action.should eql Iotas::ACT_ERROR
122
132
  p[Iotas::FIELD_ERROR_MSG].should eql Iotas::ERROR_ROUTE_RRWD
@@ -127,8 +137,8 @@ describe Iotas::Room do
127
137
  room0 = Iotas::Room.new 'room0', @spin
128
138
  room1 = Iotas::Room.new 'room1', room0
129
139
  p = @spin.require_p Iotas::Particle
130
- p.src = Fake.new 'fake', room0
131
- p.set_dst! 'get', 'dom0/room0/nodoor'
140
+ p.init! Fake.new('fake', room0)
141
+ p.add_dst 'get', 'dom0/room0/nodoor'
132
142
  room1.send_p p
133
143
  p.action.should eql Iotas::ACT_ERROR
134
144
  p[Iotas::FIELD_ERROR_MSG].should eql Iotas::ERROR_ROUTE_DNE
@@ -139,8 +149,8 @@ describe Iotas::Room do
139
149
  room0 = Iotas::Room.new 'room0', @spin
140
150
  room1 = Iotas::Room.new 'room1', room0
141
151
  p = @spin.require_p Iotas::Particle
142
- p.src = Fake.new 'fake', @spin
143
- p.set_dst! 'get', 'dom0/noroom/fake'
152
+ p.init! Fake.new('fake', @spin)
153
+ p.add_dst 'get', 'dom0/noroom/fake'
144
154
  room1.send_p p
145
155
  p.action.should eql Iotas::ACT_ERROR
146
156
  p[Iotas::FIELD_ERROR_MSG].should eql Iotas::ERROR_ROUTE_DNE
@@ -151,8 +161,8 @@ describe Iotas::Room do
151
161
  room0 = Iotas::Room.new 'room0', @spin
152
162
  door0 = Iotas::Door.new 'door0', room0
153
163
  p = @spin.require_p Iotas::Particle
154
- p.src = door0
155
- p.set_dst! 'get'
164
+ p.init! door0
165
+ p.add_dst 'get'
156
166
  room0.send_p p
157
167
  p.action.should eql 'get'
158
168
  p.dst.should be door0
@@ -205,11 +215,11 @@ describe Iotas::Room do
205
215
  p0 = door1.ps[0]
206
216
  p0.action.should be_nil
207
217
  p0.src.should be door0
208
- p0.dst.should be door1
218
+ p0.dst.should be_nil
209
219
  p1 = door1.ps[1]
210
220
  p1.action.should be_nil
211
221
  p1.src.should be door0
212
- p1.dst.should be door1
222
+ p1.dst.should be_nil
213
223
  p1.should be p
214
224
  end
215
225
  #
@@ -224,22 +234,31 @@ describe Iotas::Room do
224
234
  it "system routing success: action only" do
225
235
  room0 = Iotas::Room.new 'room0', @spin
226
236
  p = @spin.require_p Iotas::Particle
227
- p.set_dst! Iotas::SYS_ACT_ADD_LINK
237
+ p.add_dst Iotas::SYS_ACT_ADD_LINK
228
238
  room0.send_sys_p p
229
239
  p.action.should eql Iotas::SYS_ACT_ADD_LINK
230
240
  p.dst.should be room0.spin
231
241
  end
232
242
  #
233
- it "system routing success" do
243
+ it "system routing success (add_dst)" do
234
244
  room0 = Iotas::Room.new 'room0', @spin
235
245
  door0 = Iotas::Door.new 'door0', room0
236
246
  p = @spin.require_p Iotas::Particle
237
- p.set_dst! Iotas::SYS_ACT_ADD_LINK, 'dom0/room0/door0'
247
+ p.add_dst Iotas::SYS_ACT_ADD_LINK, 'dom0/room0/door0'
238
248
  room0.send_sys_p p
239
249
  p.action.should eql Iotas::SYS_ACT_ADD_LINK
240
250
  p.dst.should be door0
241
251
  end
242
252
  #
253
+ it "system routing success (send_sys_p)" do
254
+ room0 = Iotas::Room.new 'room0', @spin
255
+ door0 = Iotas::Door.new 'door0', room0
256
+ p = @spin.require_p Iotas::Particle
257
+ door0.send_sys_p p, Iotas::SYS_ACT_ADD_LINK
258
+ p.action.should eql Iotas::SYS_ACT_ADD_LINK
259
+ p.dst.should be door0
260
+ end
261
+ #
243
262
  it "SYS_ACT_ADD_LINK" do
244
263
  room0 = Iotas::Room.new 'room0', @spin
245
264
  door0 = Iotas::Door.new 'door0', room0
@@ -250,7 +269,7 @@ describe Iotas::Room do
250
269
  p0.set_data Iotas::LNK_FIELDS, 'fields'
251
270
  p0.set_data Iotas::LNK_CONDF, 'f0,f1'
252
271
  p0.set_data Iotas::LNK_CONDV, 'v0v1'
253
- p0.set_dst! Iotas::SYS_ACT_ADD_LINK, room0.path
272
+ p0.add_dst Iotas::SYS_ACT_ADD_LINK, room0.path
254
273
  room0.send_sys_p p0
255
274
  @spin.spin!
256
275
  p = @spin.require_p Iotas::Particle
data/spec/spin_spec.rb CHANGED
@@ -76,7 +76,7 @@ describe Iotas::Spin do
76
76
  it "process_sys" do
77
77
  spin = Iotas::Spin.new 'dom0'
78
78
  p0 = spin.require_p Iotas::Particle
79
- p0.set_dst! 'unknown'
79
+ p0.add_dst 'unknown'
80
80
  spin.send_sys_p p0
81
81
  spin.spin!
82
82
  p1 = spin.require_p Iotas::Particle
@@ -116,7 +116,7 @@ describe Iotas::Spin do
116
116
  it "hibernate! resume!" do
117
117
  spin = Iotas::Spin.new 'dom0'
118
118
  p0 = spin.require_p Iotas::Particle
119
- p0.set_dst! Iotas::SYS_ACT_HIBERNATE
119
+ p0.add_dst Iotas::SYS_ACT_HIBERNATE
120
120
  spin.send_sys_p p0
121
121
  spin.spin!
122
122
  dom0 = Iotas::Spin.resume! spin.hibernate_path
@@ -23,8 +23,8 @@ class InputDoor < Iotas::Door
23
23
  puts " -> start #{self.class.name} (#{@path})"
24
24
  # stimulate myself
25
25
  p = require_p Iotas::Particle
26
- p.set_dst! Iotas::ACT_GET, path
27
- send_p p
26
+ # p.add_dst Iotas::ACT_GET, path
27
+ send_p p, Iotas::ACT_GET
28
28
  end
29
29
  #
30
30
  def stop!
@@ -51,12 +51,12 @@ class InputDoor < Iotas::Door
51
51
  p.set_data 'f0', 'v0'
52
52
  p.set_data 'f1', 'v1'
53
53
  p.set_data 'f2', 'v2'
54
- send_p p
54
+ send_p p # will follow the link
55
55
  @idx+=1
56
56
  if @idx<@lines.length
57
57
  # there is more to read, restimulate myself
58
58
  p = require_p Iotas::Particle
59
- p.set_dst! Iotas::ACT_GET, name
59
+ p.add_dst Iotas::ACT_GET, name
60
60
  send_p p
61
61
  end
62
62
  else
@@ -68,7 +68,7 @@ class InputDoor < Iotas::Door
68
68
  if self.class.count==3
69
69
  p = require_p Iotas::Particle
70
70
  p[Iotas::FIELD_HIBERNATE_PATH] = HBN_PATH
71
- p.set_dst! Iotas::SYS_ACT_HIBERNATE
71
+ p.add_dst Iotas::SYS_ACT_HIBERNATE
72
72
  send_sys_p p
73
73
  end
74
74
  end
@@ -156,7 +156,7 @@ p0.set_data Iotas::LNK_DSTS, 'concat1?follow,output1'
156
156
  p0.set_data Iotas::LNK_FIELDS, 'f0,f2'
157
157
  p0.set_data Iotas::LNK_CONDF, 'f0,f1,f2'
158
158
  p0.set_data Iotas::LNK_CONDV, 'v0v1v2'
159
- p0.set_dst! Iotas::SYS_ACT_ADD_LINK, room1.path
159
+ p0.add_dst Iotas::SYS_ACT_ADD_LINK, room1.path
160
160
  room1.send_sys_p p0 # send_sys_p -> room0 -> spin -> room1 -> input1
161
161
  #
162
162
  spin.spin!
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: iotas
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
4
+ version: 0.0.4
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: 2012-05-24 00:00:00.000000000 Z
12
+ date: 2012-06-02 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: json
@@ -95,7 +95,7 @@ files:
95
95
  - spec/spec_helper.rb
96
96
  - spec/spin_spec.rb
97
97
  - spec/spot_spec.rb
98
- - test/test_evendoors.rb
98
+ - test/test_iotas.rb
99
99
  homepage: http://github.com/jeremyz/iotas
100
100
  licenses: []
101
101
  post_install_message:
@@ -129,4 +129,4 @@ test_files:
129
129
  - spec/spec_helper.rb
130
130
  - spec/spin_spec.rb
131
131
  - spec/spot_spec.rb
132
- - test/test_evendoors.rb
132
+ - test/test_iotas.rb