emque-producing 1.0.0.beta2 → 1.0.0.beta3

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: b77c1aea181103402f745688487ef3de2b03741c
4
- data.tar.gz: 97051666e37ea9f28bd626d038cb8c85f60121a3
3
+ metadata.gz: 19e301f2d62804e0d20cbc5e13b638d119689450
4
+ data.tar.gz: e2ed15a182f17ea513ab226b0c0b042286a3de2c
5
5
  SHA512:
6
- metadata.gz: a66f000eb81b489e4d655b475ddd6061c58a45190c17259aaa89f62224c35521a2f99ccee6fc8a2aceaf9ca7a11ffdfd815d2ceb909eb510df255f6ff906a51f
7
- data.tar.gz: f9779c82e7f934dce063a0143410133c94e48325fb9a4376238c1617c5a8dbac78dd5c27f14bb2a7ec37b9d70896b3895aa70fd5b77627554d5d5a2e444bf2b8
6
+ metadata.gz: 1c0c854f7eef1fe8c34d99f6769d11494a67e4d72c9d613606b8db6c4337e6fb6dcf5d3930219def3abc7a2d1979f26fdcf41d9a25827f2164c68584bb30f0ae
7
+ data.tar.gz: 0bf8501110ead37953355eac96fe02fcf2fe676a801e1cd9d472bbee9066756a455471a080edc343e44a082bad05c012a6c5963e480ff86ed9c602ddebef1429
data/README.md CHANGED
@@ -16,7 +16,7 @@ Add these lines to your application's Gemfile, depending on your message broker:
16
16
 
17
17
  # for RabbitMQ, bunny is used
18
18
  gem "emque-producing"
19
- gem "bunny", "~> 1.4.1"
19
+ gem "bunny", "~> 1.7"
20
20
 
21
21
  And then execute:
22
22
 
@@ -33,7 +33,7 @@ Or install it yourself as:
33
33
  Emque::Producing.configure do |c|
34
34
  c.app_name = "app"
35
35
  c.publishing_adapter = :rabbitmq
36
- c.rabbitmq_options = { :url => "amqp://guest:guest@localhost:5672" }
36
+ c.rabbitmq_options[:url] = "amqp://guest:guest@localhost:5672"
37
37
  c.error_handlers << Proc.new {|ex,context|
38
38
  # notify/log
39
39
  }
@@ -21,12 +21,12 @@ Gem::Specification.new do |spec|
21
21
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
22
22
  spec.require_paths = ["lib"]
23
23
 
24
- spec.add_dependency "oj", "~> 2.11"
25
- spec.add_dependency "virtus", "~> 1.0"
24
+ spec.add_dependency "oj", "~> 2.11.4"
25
+ spec.add_dependency "virtus", "~> 1.0.4"
26
26
 
27
27
  spec.add_development_dependency "bundler", "~> 1.7"
28
- spec.add_development_dependency "rake", "~> 10.4"
29
- spec.add_development_dependency "rspec", "~> 3.2"
28
+ spec.add_development_dependency "rake", "~> 10.4.2"
29
+ spec.add_development_dependency "rspec", "~> 3.2.0"
30
30
  spec.add_development_dependency "pry"
31
- spec.add_development_dependency "bunny", "~> 1.7"
31
+ spec.add_development_dependency "bunny", "~> 1.7.0"
32
32
  end
@@ -3,10 +3,10 @@ module Emque
3
3
  class Configuration
4
4
  attr_accessor :app_name
5
5
  attr_accessor :publishing_adapter
6
- attr_accessor :rabbitmq_options
7
6
  attr_accessor :error_handlers
8
7
  attr_accessor :log_publish_message
9
8
  attr_accessor :publish_messages
9
+ attr_reader :rabbitmq_options
10
10
 
11
11
  def initialize
12
12
  @app_name = ""
@@ -14,7 +14,9 @@ module Emque
14
14
  @error_handlers = []
15
15
  @log_publish_message = false
16
16
  @publish_messages = true
17
- @rabbitmq_options = { :url => "amqp://guest:guest@localhost:5672" }
17
+ @rabbitmq_options = {
18
+ :url => "amqp://guest:guest@localhost:5672"
19
+ }
18
20
  end
19
21
  end
20
22
  end
@@ -24,6 +24,18 @@ module Emque
24
24
  @message_type
25
25
  end
26
26
 
27
+ def raise_on_failure(name)
28
+ @raise_on_failure = name
29
+ end
30
+
31
+ def read_raise_on_failure
32
+ if @raise_on_failure.nil?
33
+ true
34
+ else
35
+ @raise_on_failure
36
+ end
37
+ end
38
+
27
39
  def private_attribute(name, coercion=nil, opts={})
28
40
  @private_attrs ||= []
29
41
  @private_attrs << name
@@ -64,6 +76,10 @@ module Emque
64
76
  self.class.read_message_type
65
77
  end
66
78
 
79
+ def raise_on_failure?
80
+ self.class.read_raise_on_failure
81
+ end
82
+
67
83
  def valid?
68
84
  invalid_attributes.empty? && topic && message_type
69
85
  end
@@ -88,7 +104,9 @@ module Emque
88
104
  if Emque::Producing.configuration.publish_messages
89
105
  sent = publisher.publish(topic, message_type, to_json, partition_key)
90
106
  log "sent #{sent}"
91
- raise MessagesNotSentError.new unless sent
107
+ if raise_on_failure? && !sent
108
+ raise MessagesNotSentError.new
109
+ end
92
110
  end
93
111
  else
94
112
  log "failed...", true
@@ -27,7 +27,9 @@ module Emque
27
27
  # the message was not sent. Uses publisher confirms to wait.
28
28
  ch.confirm_select
29
29
  sent = true
30
+
30
31
  exchange.on_return do |return_info, properties, content|
32
+ Emque::Producing.logger.warn("App [#{properties[:app_id]}] message was returned from exchange [#{return_info[:exchange]}]")
31
33
  sent = false
32
34
  end
33
35
 
@@ -1,5 +1,5 @@
1
1
  module Emque
2
2
  module Producing
3
- VERSION = "1.0.0.beta2"
3
+ VERSION = "1.0.0.beta3"
4
4
  end
5
5
  end
@@ -12,4 +12,10 @@ describe Emque::Producing::Configuration do
12
12
  subject.app_name = "my app"
13
13
  expect(subject.app_name).to eq "my app"
14
14
  end
15
+
16
+ it "does not allow rabbitmq_options to be overwritten" do
17
+ expect {
18
+ subject.rabbitmq_options = {:requires_confirmation => false}
19
+ }.to raise_error
20
+ end
15
21
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: emque-producing
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0.beta2
4
+ version: 1.0.0.beta3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Emily Dobervich
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2015-03-18 00:00:00.000000000 Z
12
+ date: 2015-03-27 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: oj
@@ -17,28 +17,28 @@ dependencies:
17
17
  requirements:
18
18
  - - "~>"
19
19
  - !ruby/object:Gem::Version
20
- version: '2.11'
20
+ version: 2.11.4
21
21
  type: :runtime
22
22
  prerelease: false
23
23
  version_requirements: !ruby/object:Gem::Requirement
24
24
  requirements:
25
25
  - - "~>"
26
26
  - !ruby/object:Gem::Version
27
- version: '2.11'
27
+ version: 2.11.4
28
28
  - !ruby/object:Gem::Dependency
29
29
  name: virtus
30
30
  requirement: !ruby/object:Gem::Requirement
31
31
  requirements:
32
32
  - - "~>"
33
33
  - !ruby/object:Gem::Version
34
- version: '1.0'
34
+ version: 1.0.4
35
35
  type: :runtime
36
36
  prerelease: false
37
37
  version_requirements: !ruby/object:Gem::Requirement
38
38
  requirements:
39
39
  - - "~>"
40
40
  - !ruby/object:Gem::Version
41
- version: '1.0'
41
+ version: 1.0.4
42
42
  - !ruby/object:Gem::Dependency
43
43
  name: bundler
44
44
  requirement: !ruby/object:Gem::Requirement
@@ -59,28 +59,28 @@ dependencies:
59
59
  requirements:
60
60
  - - "~>"
61
61
  - !ruby/object:Gem::Version
62
- version: '10.4'
62
+ version: 10.4.2
63
63
  type: :development
64
64
  prerelease: false
65
65
  version_requirements: !ruby/object:Gem::Requirement
66
66
  requirements:
67
67
  - - "~>"
68
68
  - !ruby/object:Gem::Version
69
- version: '10.4'
69
+ version: 10.4.2
70
70
  - !ruby/object:Gem::Dependency
71
71
  name: rspec
72
72
  requirement: !ruby/object:Gem::Requirement
73
73
  requirements:
74
74
  - - "~>"
75
75
  - !ruby/object:Gem::Version
76
- version: '3.2'
76
+ version: 3.2.0
77
77
  type: :development
78
78
  prerelease: false
79
79
  version_requirements: !ruby/object:Gem::Requirement
80
80
  requirements:
81
81
  - - "~>"
82
82
  - !ruby/object:Gem::Version
83
- version: '3.2'
83
+ version: 3.2.0
84
84
  - !ruby/object:Gem::Dependency
85
85
  name: pry
86
86
  requirement: !ruby/object:Gem::Requirement
@@ -101,14 +101,14 @@ dependencies:
101
101
  requirements:
102
102
  - - "~>"
103
103
  - !ruby/object:Gem::Version
104
- version: '1.7'
104
+ version: 1.7.0
105
105
  type: :development
106
106
  prerelease: false
107
107
  version_requirements: !ruby/object:Gem::Requirement
108
108
  requirements:
109
109
  - - "~>"
110
110
  - !ruby/object:Gem::Version
111
- version: '1.7'
111
+ version: 1.7.0
112
112
  description: Define and send messages to a variety of message brokers
113
113
  email:
114
114
  - emily@teamsnap.com