philotic 1.1.0 → 1.1.1

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: df70b771262ad8d0ebef59e3f09dcd22ecc6ef9d
4
- data.tar.gz: b788804402bc0963c091df0b153254dabe05081e
3
+ metadata.gz: b5aa6de95d72e998edad55939b1b194101189c96
4
+ data.tar.gz: b1972e32e338076a218f18f96a32ca9150cb0ca1
5
5
  SHA512:
6
- metadata.gz: 253dadb5be3316478a52198fb0167a1cc5d714072e7811e66bd71651f107a50e85f290d82d01a4ee558ee55fac28fda86af711ac92f9d5453e89363baf54c027
7
- data.tar.gz: 462b239a98e5fe4f5fc4acfe73026659c3ee26baab2b1b5ed4994153dead92780d91097871e30dcb2d06e4ea3374ae6f75e30a7ab39eb95227b10d9b73e041bc
6
+ metadata.gz: 3a3fc577e42079e2747e72b13905a831f1bdbccdfd7bbd6dae815e1fcb013fd1e8ee7e37d68444f4a773bea2c9005884c4f44d4be77ac20bae32de147f21a0a7
7
+ data.tar.gz: 10075f5fd0473498dae8b45ea57eca725ffa48909eedb203cf31d9a8bcd7acb1a5f6b4642f275b313ccbb7f1a6f116ff0241b08b490187563357757461000cf0
@@ -22,7 +22,7 @@ module Philotic
22
22
  lambda do |delivery_info, metadata, payload|
23
23
  hash_payload = JSON.parse payload
24
24
 
25
- message = Philotic::Message.new(metadata[:headers], hash_payload)
25
+ message = Class.new(Philotic::Message).new(metadata[:headers], hash_payload)
26
26
  message.delivery_info = delivery_info
27
27
 
28
28
  instance_exec(message, &block)
@@ -1,3 +1,3 @@
1
1
  module Philotic
2
- VERSION = '1.1.0'
2
+ VERSION = '1.1.1'
3
3
  end
@@ -8,15 +8,34 @@ require 'philotic/subscriber'
8
8
  describe Philotic::Subscriber do
9
9
 
10
10
 
11
+ describe '#subscription_callback' do
12
+
13
+ subject { Philotic::Connection.new.subscriber }
14
+ let(:subscribe_callback) do
15
+ Proc.new do |message|
16
+ message
17
+ end
18
+ end
19
+
20
+ let(:delivery_info) { double }
21
+ let(:metadata) { {headers: {header_1: 'foo'}} }
22
+ let(:payload) { {message: 'body'} }
23
+
24
+ it 'hydrates received messages' do
25
+ message = subject.subscription_callback(&subscribe_callback).call(delivery_info, metadata, payload.to_json)
26
+ expect(message).to be_a Philotic::Message
27
+ expect(message.headers).to include(metadata[:headers])
28
+ expect(message.payload).to eq payload
29
+ end
30
+ end
31
+
11
32
  describe '#subscribe' do
12
33
  let(:subscription) { 'some_queue' }
13
34
  subject { Philotic::Connection.new.subscriber }
14
35
  context 'when options is a string' do
15
36
  it 'binds to a queue defined by the options' do
16
-
17
- exchange = double
18
- channel = double
19
- queue = double
37
+ channel = double
38
+ queue = double
20
39
 
21
40
  metadata = double
22
41
  message = double
@@ -41,7 +60,7 @@ describe Philotic::Subscriber do
41
60
  context 'when options is not a string' do
42
61
  let(:subscription) do
43
62
  {
44
- firehose: true
63
+ firehose: true
45
64
  }
46
65
  end
47
66
  it 'binds to a queue defined by the options' do
@@ -75,9 +94,9 @@ describe Philotic::Subscriber do
75
94
  describe '#subscribe_to_any' do
76
95
  let(:headers) do
77
96
  {
78
- header1: 'h1',
79
- header2: 'h2',
80
- header3: 'h3',
97
+ header1: 'h1',
98
+ header2: 'h2',
99
+ header3: 'h3',
81
100
  }
82
101
  end
83
102
  subject { Philotic::Connection.new.subscriber }
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: philotic
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.0
4
+ version: 1.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nathan Keyes