superbolt 0.1.4 → 0.1.5

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: f44da3407881b86b5233df9f6cc6f1966d75a1db
4
- data.tar.gz: f32e4e2ca360106248d1a0a0d06ce81cedc2a56b
3
+ metadata.gz: d245bb7c4be355164276e82fc9b03636fde9e4f0
4
+ data.tar.gz: 4b4098c10598e6485e440d8940de0baf4ca2ba1a
5
5
  SHA512:
6
- metadata.gz: 3d746bcbd113d463b276be9115418f6eccf47a6f2c3a909e0528b90575f9455380e971e823d914870729572b9aac3e7193d476222351302646fbb56f143a45a9
7
- data.tar.gz: 83b03a7bf7b92f3891e2527a269f4266f5097b826ebfa0a09dcdc531d5262379e926ae33512b5effec29271d758c625d8438eafee593d8e191d9fe483e5ad037
6
+ metadata.gz: 93d8f7e16a08f71909db6da85a72113412c5f3f91a6800a4d530c31d7ac45d59887531467e6f2d4dba89b1ef7e01523fe5a5c9ea402ddfdc4a79adeb6a4f4bdf
7
+ data.tar.gz: c0429012ed604af010a08b3fa0775a130cf363df89c5ca90e7c73eb4c1b61d7513187642768f88ca7ea834b50cbfeebaefdab827fb02ea93dea6bbfa34e6c6c2
@@ -20,23 +20,25 @@ module Superbolt
20
20
 
21
21
  # chainer methods
22
22
  #
23
- def to(val)
24
- self.name = val
25
- self
23
+ def to(val=nil)
24
+ attr_chainer(:name, val)
26
25
  end
27
26
 
28
- def from(val)
29
- self.origin = val
30
- self
27
+ def from(val=nil)
28
+ attr_chainer(:origin, val)
31
29
  end
32
30
 
33
- def re(val)
34
- self.event = val
35
- self
31
+ def re(val=nil)
32
+ attr_chainer(:event, val)
33
+ end
34
+
35
+ def data(val=nil)
36
+ attr_chainer(:arguments, val)
36
37
  end
37
38
 
38
- def data(val)
39
- self.arguments = val
39
+ def attr_chainer(attr, val)
40
+ return send(attr) unless val
41
+ self.send("#{attr}=", val)
40
42
  self
41
43
  end
42
44
 
@@ -4,7 +4,8 @@ module Superbolt
4
4
  return @superbolt_message if @superbolt_message
5
5
 
6
6
  @superbolt_message = Superbolt::Messenger.new
7
- @superbolt_message.stub(:send!) do |m|
7
+ @superbolt_message.stub(:send!) do |args|
8
+ @superbolt_message.data(args)
8
9
  superbolt_messages << @superbolt_message
9
10
  end
10
11
 
@@ -1,3 +1,3 @@
1
1
  module Superbolt
2
- VERSION = "0.1.4"
2
+ VERSION = "0.1.5"
3
3
  end
@@ -35,25 +35,49 @@ describe Superbolt::Messenger do
35
35
  describe 'underlying message' do
36
36
  let(:message) { messenger.message }
37
37
 
38
- it "starts its life with no interesting values" do
39
- message[:origin].should == nil
40
- message[:event].should == 'default'
41
- message[:arguments].should == {}
42
- end
38
+ context 'writing' do
39
+ it "starts its life with no interesting values" do
40
+ message[:origin].should == nil
41
+ message[:event].should == 'default'
42
+ message[:arguments].should == {}
43
+ end
43
44
 
44
- it "calls to #from, set the origin on the message" do
45
- messenger.from('linkticounter')
46
- message[:origin].should == 'linkticounter'
47
- end
45
+ it "calls to #from, set the origin on the message" do
46
+ messenger.from('linkticounter')
47
+ message[:origin].should == 'linkticounter'
48
+ end
49
+
50
+ it "passes event data to the message" do
51
+ messenger.re('zap')
52
+ message[:event].should == 'zap'
53
+ end
48
54
 
49
- it "passes event data to the message" do
50
- messenger.re('zap')
51
- message[:event].should == 'zap'
55
+ it "passes data to the message" do
56
+ messenger.data({foo: 'bar'})
57
+ message[:arguments].should == {foo: 'bar'}
58
+ end
52
59
  end
53
60
 
54
- it "passes data to the message" do
55
- messenger.data({foo: 'bar'})
56
- message[:arguments].should == {foo: 'bar'}
61
+ context 'reading' do
62
+ it '#to returns the name' do
63
+ messenger.to('transducer')
64
+ messenger.to.should == 'transducer'
65
+ end
66
+
67
+ it '#from returns the origin' do
68
+ messenger.from('activator')
69
+ messenger.fromq.should == 'activator'
70
+ end
71
+
72
+ it '#re returns the event' do
73
+ messenger.re('save')
74
+ messenger.re.should == 'save'
75
+ end
76
+
77
+ it '#data return the arguments' do
78
+ messenger.data({foo: 'bar'})
79
+ messenger.data.should == {foo: 'bar'}
80
+ end
57
81
  end
58
82
  end
59
83
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: superbolt
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.4
4
+ version: 0.1.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - socialchorus