ElmerFudd 0.0.5 → 0.0.6

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: 4fd0f0a4198957737ee29f192d6c00adc1363d06
4
- data.tar.gz: 1fd5846c089a76a01430f50851b6ee358c77b8c4
3
+ metadata.gz: 75c3d78c67fb6c2aa3feac15e1a1ba3844cba487
4
+ data.tar.gz: 8e663cb8a2ebd052a25341265a545b58defa4edf
5
5
  SHA512:
6
- metadata.gz: b64a5022079b20036c39ac50fb71227c32f9cbf112827f22b4258e6e10d422eb1573a08f59497ffd1299611f6e42c5bf6d2052c4f9ec87e528dfeaeac9f6a05f
7
- data.tar.gz: a12d7755090768a1481ae7b3668f57f6e1b7baa80a563db17584398beb061b91a42111af3975bfc441460f983a12c037d06c284eeb61015d46685f2ab576067c
6
+ metadata.gz: 4ae4f19d80ed9eaaa4917ae6ecbfd503abe9dae727ac2e83b1973cce1935070804b549ec1040c49021c1a4494d647df24a8b8985582a364a9607a320d9124986
7
+ data.tar.gz: 6ab24ac75141721591974e97dc31f094b49f4826545138c351d2dfe22c30fe6d7b6484dce8f9b441add2d88cd16c4449caaf33c47fc697be2daf2f0c4a1860b4
data/ElmerFudd.gemspec CHANGED
@@ -6,8 +6,8 @@ require 'ElmerFudd/version'
6
6
  Gem::Specification.new do |spec|
7
7
  spec.name = "ElmerFudd"
8
8
  spec.version = ElmerFudd::VERSION
9
- spec.authors = ["Andrzej Sliwa"]
10
- spec.email = ["andrzej.sliwa@i-tool.eu"]
9
+ spec.authors = ["Andrzej Sliwa", "Artur Roszczyk"]
10
+ spec.email = ["andrzej.sliwa@i-tool.eu", "artur.roszczyk@gmail.com"]
11
11
  spec.summary = %q{RabbitMQ in OTP way}
12
12
  spec.description = %q{Be vewwy, vewwy quiet...I'm hunting wabbits!}
13
13
  spec.homepage = "https://github.com/bonusboxme/ElmerFudd"
@@ -0,0 +1,74 @@
1
+ class ElmerFudd::FakeProducer
2
+ def initialize(_connection = :no_connection)
3
+ @casts = Hash.new do |hash, queue_name|
4
+ hash[queue_name] = []
5
+ end
6
+
7
+ @notifications = Hash.new do |hash, exchange|
8
+ hash[exchange] = Hash.new do |hash, event_name|
9
+ hash[event_name] = []
10
+ end
11
+ end
12
+ end
13
+
14
+ def call(queue_name, payload, timeout: 10)
15
+ # not implemented, behaving like other side does not respond
16
+ raise Timeout::Error
17
+ end
18
+
19
+ def cast(queue_name, payload)
20
+ @casts[queue_name] << payload
21
+ end
22
+
23
+ def notify(exchange, event_name, payload)
24
+ @notifications[exchange][event_name] << payload
25
+ end
26
+
27
+ def clear!
28
+ initialize(nil)
29
+ end
30
+ end
31
+
32
+ RSpec.configure do |config|
33
+ config.before(:each) do
34
+ ObjectSpace.each_object(ElmerFudd::FakeProducer, &:clear!)
35
+ end
36
+ end
37
+
38
+ RSpec::Matchers.define :have_received_cast_on do |queue_name|
39
+ match do |rabbit|
40
+ queue(rabbit).size == (@count || 1)
41
+ end
42
+
43
+ chain :with_payload do |payload|
44
+ @payload = payload
45
+ end
46
+
47
+ chain :times do |times|
48
+ @count = times
49
+ end
50
+
51
+ define_method :queue do |server|
52
+ queue = server.instance_eval { @casts }[queue_name]
53
+ if @payload
54
+ queue = queue.select { |payload| payload == @payload }
55
+ end
56
+ queue
57
+ end
58
+
59
+ failure_message_for_should do |rabbit|
60
+ if @count
61
+ "expected a message on '#{queue_name}' #{@count} times, but received #{queue(rabbit).size} times"
62
+ else
63
+ "expected a message on '#{queue_name}' 1 time, but received #{queue(rabbit).size} times"
64
+ end
65
+ end
66
+
67
+ failure_message_for_should_not do |rabbit|
68
+ "expected no message on '#{queue_name}', but receved at least one"
69
+ end
70
+
71
+ description do
72
+ "receive a message on '#{queue_name}'"
73
+ end
74
+ end
@@ -1,3 +1,3 @@
1
1
  module ElmerFudd
2
- VERSION = "0.0.5"
2
+ VERSION = "0.0.6"
3
3
  end
metadata CHANGED
@@ -1,14 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ElmerFudd
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.5
4
+ version: 0.0.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Andrzej Sliwa
8
+ - Artur Roszczyk
8
9
  autorequire:
9
10
  bindir: bin
10
11
  cert_chain: []
11
- date: 2014-06-02 00:00:00.000000000 Z
12
+ date: 2014-06-17 00:00:00.000000000 Z
12
13
  dependencies:
13
14
  - !ruby/object:Gem::Dependency
14
15
  name: bunny
@@ -69,6 +70,7 @@ dependencies:
69
70
  description: Be vewwy, vewwy quiet...I'm hunting wabbits!
70
71
  email:
71
72
  - andrzej.sliwa@i-tool.eu
73
+ - artur.roszczyk@gmail.com
72
74
  executables: []
73
75
  extensions: []
74
76
  extra_rdoc_files: []
@@ -84,6 +86,7 @@ files:
84
86
  - Rakefile
85
87
  - elmer-fudd.jpg
86
88
  - lib/ElmerFudd.rb
89
+ - lib/ElmerFudd/rspec.rb
87
90
  - lib/ElmerFudd/version.rb
88
91
  - spec/spec_helper.rb
89
92
  homepage: https://github.com/bonusboxme/ElmerFudd