philotic 1.1.0 → 1.1.1

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.
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