diff options
author | Jérémy Zurcher <jeremy@asynk.ch> | 2012-06-02 22:25:14 +0200 |
---|---|---|
committer | Jérémy Zurcher <jeremy@asynk.ch> | 2012-06-02 22:25:14 +0200 |
commit | 50b9b41e1e8b3012c165ea6a4c383273afe37ac3 (patch) | |
tree | e945c7d24468703db8e910a9a2f3f03d21d28601 | |
parent | ae7b1c31a84bdad05376ceccb8882286185f70d6 (diff) | |
download | edoors-ruby-50b9b41e1e8b3012c165ea6a4c383273afe37ac3.zip edoors-ruby-50b9b41e1e8b3012c165ea6a4c383273afe37ac3.tar.gz |
Particle add #set_dst! and specs
-rw-r--r-- | lib/iotas/particle.rb | 6 | ||||
-rw-r--r-- | spec/particle_spec.rb | 11 |
2 files changed, 16 insertions, 1 deletions
diff --git a/lib/iotas/particle.rb b/lib/iotas/particle.rb index 3cb48b3..78975bf 100644 --- a/lib/iotas/particle.rb +++ b/lib/iotas/particle.rb @@ -114,6 +114,12 @@ module Iotas add_dsts d+Iotas::ACT_SEP+a end # + def set_dst! a, d + @room = @door = nil + @action = a + @dst = d + end + # def split_dst! @dst = @room = @door = @action = nil return if (n = next_dst).nil? diff --git a/spec/particle_spec.rb b/spec/particle_spec.rb index 0a7f095..a10a9f9 100644 --- a/spec/particle_spec.rb +++ b/spec/particle_spec.rb @@ -94,9 +94,18 @@ describe Iotas::Particle do lambda { p.add_dst 'action', nil }.should raise_error(NoMethodError) end # + it "routing: set_dst!" do + p = Iotas::Particle.new + d0 = Iotas::Door.new 'door0', nil + # + p.set_dst! 'action', d0 + p.action.should eql 'action' + p.dst.should be d0 + end + # it "routing: add_dst and split_dst!" do p = Iotas::Particle.new - d0 = Iotas::Door.new 'door0', nil + d0 = Iotas::Door.new 'door0', nil # p.split_dst! p.room.should be_nil |