amqp-hermes 1.0.0 → 1.0.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.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.0.0
1
+ 1.0.1
@@ -0,0 +1,73 @@
1
+ # Generated by jeweler
2
+ # DO NOT EDIT THIS FILE DIRECTLY
3
+ # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
+ # -*- encoding: utf-8 -*-
5
+
6
+ Gem::Specification.new do |s|
7
+ s.name = "amqp-hermes"
8
+ s.version = "1.0.1"
9
+
10
+ s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
+ s.authors = ["Hartog C. de Mik"]
12
+ s.date = "2012-07-26"
13
+ s.description = "Wrapper around ruby-amqp to make pub/sub easier"
14
+ s.email = "hartog.de.mik@gmail.com"
15
+ s.extra_rdoc_files = [
16
+ "LICENSE.txt",
17
+ "README.rdoc"
18
+ ]
19
+ s.files = [
20
+ ".document",
21
+ ".rspec",
22
+ "Gemfile",
23
+ "Gemfile.lock",
24
+ "LICENSE.txt",
25
+ "README.rdoc",
26
+ "Rakefile",
27
+ "VERSION",
28
+ "amqp-hermes.gemspec",
29
+ "lib/amqp-hermes.rb",
30
+ "lib/amqp-hermes/connectivity.rb",
31
+ "lib/amqp-hermes/message.rb",
32
+ "lib/amqp-hermes/receiver.rb",
33
+ "lib/amqp-hermes/transmitter.rb",
34
+ "lib/amqp-hermes/version.rb",
35
+ "spec/amqp-hermes/connectivity_spec.rb",
36
+ "spec/amqp-hermes/receiver_spec.rb",
37
+ "spec/amqp-hermes/transmitter_spec.rb",
38
+ "spec/spec_helper.rb"
39
+ ]
40
+ s.homepage = "http://github.com/wyngle/amqp-hermes"
41
+ s.licenses = ["MIT"]
42
+ s.require_paths = ["lib"]
43
+ s.rubygems_version = "1.8.11"
44
+ s.summary = "Hermes; Messenger of the gods"
45
+
46
+ if s.respond_to? :specification_version then
47
+ s.specification_version = 3
48
+
49
+ if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
50
+ s.add_runtime_dependency(%q<amqp>, ["~> 0.9"])
51
+ s.add_development_dependency(%q<rspec>, ["~> 2.8.0"])
52
+ s.add_development_dependency(%q<faker>, ["~> 1"])
53
+ s.add_development_dependency(%q<rdoc>, ["~> 3.12"])
54
+ s.add_development_dependency(%q<bundler>, ["~> 1.0.0"])
55
+ s.add_development_dependency(%q<jeweler>, ["~> 1.8.3"])
56
+ else
57
+ s.add_dependency(%q<amqp>, ["~> 0.9"])
58
+ s.add_dependency(%q<rspec>, ["~> 2.8.0"])
59
+ s.add_dependency(%q<faker>, ["~> 1"])
60
+ s.add_dependency(%q<rdoc>, ["~> 3.12"])
61
+ s.add_dependency(%q<bundler>, ["~> 1.0.0"])
62
+ s.add_dependency(%q<jeweler>, ["~> 1.8.3"])
63
+ end
64
+ else
65
+ s.add_dependency(%q<amqp>, ["~> 0.9"])
66
+ s.add_dependency(%q<rspec>, ["~> 2.8.0"])
67
+ s.add_dependency(%q<faker>, ["~> 1"])
68
+ s.add_dependency(%q<rdoc>, ["~> 3.12"])
69
+ s.add_dependency(%q<bundler>, ["~> 1.0.0"])
70
+ s.add_dependency(%q<jeweler>, ["~> 1.8.3"])
71
+ end
72
+ end
73
+
@@ -6,13 +6,13 @@ module Hermes
6
6
  attr_reader :messages, :queue, :exchange, :routing_key
7
7
  attr_accessor :_listening
8
8
 
9
- def initialize(queue, topic="pub/sub", options={})
9
+ def initialize(queue, topic=nil, options={})
10
10
  raise "You *MUST* specify a queue" if queue.nil? or queue.empty?
11
11
  @queue = queue
12
12
 
13
13
  if topic.is_a? Hash
14
14
  options = topic.dup
15
- topic = options.delete(:topic) || "pub/sub"
15
+ topic = options.delete(:topic)
16
16
  end
17
17
 
18
18
  @routing_key = options.delete(:routing_key)
@@ -25,6 +25,8 @@ module Hermes
25
25
  @handler = options.delete(:handler) || self
26
26
 
27
27
  options[:auto_delete] ||= true
28
+
29
+ topic ||= "pub/sub"
28
30
  @exchange = channel.topic(topic, options)
29
31
 
30
32
  @messages = []
@@ -40,8 +42,9 @@ module Hermes
40
42
 
41
43
  receiver.channel.queue(receiver.queue).bind(
42
44
  receiver.exchange, :routing_key => receiver.routing_key
43
- ).subscribe do |headers, payload|
45
+ ).subscribe(:ack => true) do |headers, payload|
44
46
  handler.receive(AMQP::Hermes::Message.new(headers, payload))
47
+ headers.ack
45
48
  end
46
49
  end
47
50
  end
@@ -4,11 +4,19 @@ module Hermes
4
4
  include AMQP::Hermes::Connectivity
5
5
 
6
6
  attr_reader :queue
7
- def initialize(queue=nil, topic="pub/sub", options={})
7
+ def initialize(queue=nil, topic=nil, options={})
8
8
  @queue = queue
9
9
 
10
+ if topic.is_a?(Hash)
11
+ options = topic.clone
12
+ topic = options[:topic]
13
+ end
14
+
10
15
  options[:auto_delete] ||= true
16
+
17
+ topic ||= "pub/sub"
11
18
  @exchange = channel.topic(topic, options)
19
+
12
20
  @transmitting = false
13
21
  end
14
22
 
metadata CHANGED
@@ -1,93 +1,90 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: amqp-hermes
3
- version: !ruby/object:Gem::Version
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.1
4
5
  prerelease:
5
- version: 1.0.0
6
6
  platform: ruby
7
- authors:
7
+ authors:
8
8
  - Hartog C. de Mik
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
-
13
- date: 2012-03-01 00:00:00 Z
14
- dependencies:
15
- - !ruby/object:Gem::Dependency
12
+ date: 2012-07-26 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
16
15
  name: amqp
17
- requirement: &id001 !ruby/object:Gem::Requirement
16
+ requirement: &20873100 !ruby/object:Gem::Requirement
18
17
  none: false
19
- requirements:
18
+ requirements:
20
19
  - - ~>
21
- - !ruby/object:Gem::Version
22
- version: "0.9"
20
+ - !ruby/object:Gem::Version
21
+ version: '0.9'
23
22
  type: :runtime
24
23
  prerelease: false
25
- version_requirements: *id001
26
- - !ruby/object:Gem::Dependency
24
+ version_requirements: *20873100
25
+ - !ruby/object:Gem::Dependency
27
26
  name: rspec
28
- requirement: &id002 !ruby/object:Gem::Requirement
27
+ requirement: &20881220 !ruby/object:Gem::Requirement
29
28
  none: false
30
- requirements:
29
+ requirements:
31
30
  - - ~>
32
- - !ruby/object:Gem::Version
31
+ - !ruby/object:Gem::Version
33
32
  version: 2.8.0
34
33
  type: :development
35
34
  prerelease: false
36
- version_requirements: *id002
37
- - !ruby/object:Gem::Dependency
35
+ version_requirements: *20881220
36
+ - !ruby/object:Gem::Dependency
38
37
  name: faker
39
- requirement: &id003 !ruby/object:Gem::Requirement
38
+ requirement: &20894140 !ruby/object:Gem::Requirement
40
39
  none: false
41
- requirements:
40
+ requirements:
42
41
  - - ~>
43
- - !ruby/object:Gem::Version
44
- version: "1"
42
+ - !ruby/object:Gem::Version
43
+ version: '1'
45
44
  type: :development
46
45
  prerelease: false
47
- version_requirements: *id003
48
- - !ruby/object:Gem::Dependency
46
+ version_requirements: *20894140
47
+ - !ruby/object:Gem::Dependency
49
48
  name: rdoc
50
- requirement: &id004 !ruby/object:Gem::Requirement
49
+ requirement: &20892680 !ruby/object:Gem::Requirement
51
50
  none: false
52
- requirements:
51
+ requirements:
53
52
  - - ~>
54
- - !ruby/object:Gem::Version
55
- version: "3.12"
53
+ - !ruby/object:Gem::Version
54
+ version: '3.12'
56
55
  type: :development
57
56
  prerelease: false
58
- version_requirements: *id004
59
- - !ruby/object:Gem::Dependency
57
+ version_requirements: *20892680
58
+ - !ruby/object:Gem::Dependency
60
59
  name: bundler
61
- requirement: &id005 !ruby/object:Gem::Requirement
60
+ requirement: &20891200 !ruby/object:Gem::Requirement
62
61
  none: false
63
- requirements:
62
+ requirements:
64
63
  - - ~>
65
- - !ruby/object:Gem::Version
64
+ - !ruby/object:Gem::Version
66
65
  version: 1.0.0
67
66
  type: :development
68
67
  prerelease: false
69
- version_requirements: *id005
70
- - !ruby/object:Gem::Dependency
68
+ version_requirements: *20891200
69
+ - !ruby/object:Gem::Dependency
71
70
  name: jeweler
72
- requirement: &id006 !ruby/object:Gem::Requirement
71
+ requirement: &20888860 !ruby/object:Gem::Requirement
73
72
  none: false
74
- requirements:
73
+ requirements:
75
74
  - - ~>
76
- - !ruby/object:Gem::Version
75
+ - !ruby/object:Gem::Version
77
76
  version: 1.8.3
78
77
  type: :development
79
78
  prerelease: false
80
- version_requirements: *id006
79
+ version_requirements: *20888860
81
80
  description: Wrapper around ruby-amqp to make pub/sub easier
82
81
  email: hartog.de.mik@gmail.com
83
82
  executables: []
84
-
85
83
  extensions: []
86
-
87
- extra_rdoc_files:
84
+ extra_rdoc_files:
88
85
  - LICENSE.txt
89
86
  - README.rdoc
90
- files:
87
+ files:
91
88
  - .document
92
89
  - .rspec
93
90
  - Gemfile
@@ -96,6 +93,7 @@ files:
96
93
  - README.rdoc
97
94
  - Rakefile
98
95
  - VERSION
96
+ - amqp-hermes.gemspec
99
97
  - lib/amqp-hermes.rb
100
98
  - lib/amqp-hermes/connectivity.rb
101
99
  - lib/amqp-hermes/message.rb
@@ -107,34 +105,31 @@ files:
107
105
  - spec/amqp-hermes/transmitter_spec.rb
108
106
  - spec/spec_helper.rb
109
107
  homepage: http://github.com/wyngle/amqp-hermes
110
- licenses:
108
+ licenses:
111
109
  - MIT
112
110
  post_install_message:
113
111
  rdoc_options: []
114
-
115
- require_paths:
112
+ require_paths:
116
113
  - lib
117
- required_ruby_version: !ruby/object:Gem::Requirement
114
+ required_ruby_version: !ruby/object:Gem::Requirement
118
115
  none: false
119
- requirements:
120
- - - ">="
121
- - !ruby/object:Gem::Version
122
- hash: -1570954477034988232
123
- segments:
116
+ requirements:
117
+ - - ! '>='
118
+ - !ruby/object:Gem::Version
119
+ version: '0'
120
+ segments:
124
121
  - 0
125
- version: "0"
126
- required_rubygems_version: !ruby/object:Gem::Requirement
122
+ hash: -1892227814602822125
123
+ required_rubygems_version: !ruby/object:Gem::Requirement
127
124
  none: false
128
- requirements:
129
- - - ">="
130
- - !ruby/object:Gem::Version
131
- version: "0"
125
+ requirements:
126
+ - - ! '>='
127
+ - !ruby/object:Gem::Version
128
+ version: '0'
132
129
  requirements: []
133
-
134
130
  rubyforge_project:
135
- rubygems_version: 1.8.16
131
+ rubygems_version: 1.8.11
136
132
  signing_key:
137
133
  specification_version: 3
138
134
  summary: Hermes; Messenger of the gods
139
135
  test_files: []
140
-