philotic 0.1.0 → 0.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: de975d7fba7ad019b6df767bc3214b8d3bae5f1f
4
- data.tar.gz: 38d9c43d25a72d5832597728b400b39969cc4f33
3
+ metadata.gz: 6c207f88ac1a40745e0fb7146a97850669bbac39
4
+ data.tar.gz: 843d000c8695ae044d997def648714de1c42f4cd
5
5
  SHA512:
6
- metadata.gz: 24fa4c3529f7b607d6d87276ff5544e06cbf137e20290364fe67794f3334757621713858c28ede50585db9065e453a4a8c35e094cb9b8f1b3a288aba1ffd4d4a
7
- data.tar.gz: 1ca179e1fdb748572551f501844c323253026284ec704a4d1212a05ac56a5074454d4b7aa0155bc3840bb7755fcaacb3e67c1313cf67ca7f31e495814aa58970
6
+ metadata.gz: a0f7f6b66ea62000a0711a5c7d468afa43eb7309fb252650e9265c62942caa1d4fe9144954842c421ad20057cc2151a2328f64a7f510dfdb4ef320452c410ddc
7
+ data.tar.gz: 61b6203f1ef2cdf747cc9e7eb49a6998ae0b4068d0f81c3eeee59a29846fe8a4adfd5a36690346d0b4b5c5ad0a2b56c92c18b44e34354924c1feb464284c9607
data/README.md CHANGED
@@ -7,3 +7,39 @@ Lightweight, opinionated wrapper for using RabbitMQ headers exchanges
7
7
  [![Test Coverage](https://codeclimate.com/github/nkeyes/philotic/badges/coverage.svg)](https://codeclimate.com/github/nkeyes/philotic)
8
8
 
9
9
  Check out the [examples](https://github.com/nkeyes/philotic/tree/master/examples).
10
+
11
+ ## Simple Example
12
+ ```Ruby
13
+ require 'philotic'
14
+ require 'awesome_print'
15
+
16
+ # override the message return handler
17
+ Philotic::Config.message_return_handler = lambda do |basic_return, metadata, message|
18
+ Philotic.logger.warn "Message returned. reply_text: #{basic_return.reply_text}"
19
+ end
20
+
21
+ Philotic::Subscriber.subscribe(header_key: 'header_1') do |metadata, message|
22
+ ap message[:attributes]
23
+ end
24
+
25
+ # normally we'd do:
26
+ #
27
+ # Philotic::Subscriber.endure
28
+ #
29
+ # to keep the parent thread alive while the subscribers do their thing
30
+ # but this infinite publish loop takes care of that
31
+ loop do
32
+ Philotic::Event.publish({header_key: "header_#{[1, 2].sample}"}, {payload_key: 'payload_value'})
33
+
34
+ # only send a message every two seconds so we can see whats going on
35
+ sleep 2
36
+ end
37
+ ```
38
+
39
+ ### Tested with the following Rubies
40
+ * 1.9.3
41
+ * 2.0.0
42
+ * 2.1.0
43
+ * jruby-19mode
44
+ * ruby-head
45
+ * jruby-head
@@ -5,12 +5,7 @@ $stdout.sync = true
5
5
  require 'philotic'
6
6
  require 'philotic/dummy_event'
7
7
 
8
- Philotic.logger= Logger.new('/dev/null')
9
-
10
- Philotic::Config.load_file(File.join(File.dirname(__FILE__), "../../", "philotic.yml.example"))
11
-
12
- #Philotic::Config.threaded_publish = true
13
- #Philotic::Config.threaded_publish_pool_size = 3
8
+ Philotic.logger = Logger.new('/dev/null')
14
9
 
15
10
  Philotic::Connection.connect!
16
11
  @event = Philotic::DummyEvent.new
@@ -0,0 +1,28 @@
1
+ #!/usr/bin/env ruby
2
+ $:.unshift File.expand_path('../../lib', __FILE__)
3
+ $stdout.sync = true
4
+
5
+ require 'philotic'
6
+ require 'awesome_print'
7
+
8
+ # override the message return handler
9
+ Philotic::Config.message_return_handler = lambda do |basic_return, metadata, message|
10
+ Philotic.logger.warn "Message returned. reply_text: #{basic_return.reply_text}"
11
+ end
12
+
13
+ Philotic::Subscriber.subscribe(header_key: 'header_1') do |metadata, message|
14
+ ap message[:attributes]
15
+ end
16
+
17
+ # normally we'd do:
18
+ #
19
+ # Philotic::Subscriber.endure
20
+ #
21
+ # to keep the parent thread alive while the subscribers do their thing
22
+ # but this infinite publish loop takes care of that
23
+ loop do
24
+ Philotic::Event.publish({header_key: "header_#{[1, 2].sample}"}, {payload_key: 'payload_value'})
25
+
26
+ # only send a message every two seconds so we can see whats going on
27
+ sleep 2
28
+ end
@@ -60,7 +60,7 @@ module Philotic
60
60
  end
61
61
  end
62
62
 
63
- attr_reader :connection_failed_handler, :connection_loss_handler, :message_return_handler
63
+ attr_writer :connection_failed_handler, :connection_loss_handler, :message_return_handler
64
64
 
65
65
  def connection_failed_handler
66
66
  @connection_failed_handler ||= lambda do |settings|
@@ -1,3 +1,3 @@
1
1
  module Philotic
2
- VERSION = '0.1.0'
2
+ VERSION = '0.1.1'
3
3
  end
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: 0.1.0
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nathan Keyes
@@ -225,6 +225,7 @@ files:
225
225
  - examples/creating_named_queues/philotic_named_queues.yml
226
226
  - examples/creating_named_queues/with_rake.rb
227
227
  - examples/publishing/publish.rb
228
+ - examples/simple_combined_example.rb
228
229
  - examples/subscribing/acks.rb
229
230
  - examples/subscribing/anonymous_queue.rb
230
231
  - examples/subscribing/multiple_named_queues.rb