amqp-hermes 1.0.0 → 1.0.1

Sign up to get free protection for your applications and to get access to all the features.
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
-