emque-producing 1.0.0.beta2 → 1.0.0.beta3

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