agni 0.0.3 → 0.0.4

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/README.md CHANGED
@@ -70,11 +70,20 @@ queues to schedule work, report status, update data, and collect
70
70
  metrics. Agni should, even in its current humble state, support
71
71
  such a use case.
72
72
 
73
+ ## Pre-installation of RabbitMQ
74
+
75
+ For Mac, you can use Homebrew via
76
+ `brew install rabbitmq`
77
+
78
+ Starting the server is as easy as
79
+ `rabbitmq-server`
80
+ which should start an AMQP server on port 5672 by default.
81
+
73
82
  ## Installation
74
83
 
75
84
  Add this line to your application's Gemfile:
76
85
 
77
- gem 'messenger'
86
+ gem 'agni'
78
87
 
79
88
  And then execute:
80
89
 
@@ -82,7 +91,7 @@ And then execute:
82
91
 
83
92
  Or install it yourself as:
84
93
 
85
- $ gem install messenger
94
+ $ gem install agni
86
95
 
87
96
  ## Usage
88
97
 
@@ -90,14 +99,14 @@ If you're running an AMQP instance locally for testing, try the following.
90
99
 
91
100
  Set up a subscriber:
92
101
 
93
- require 'messenger'
94
- m = Agni::Messenger.new('amqp://localhost')
102
+ require 'agni'
103
+ m = Agni::Messenger.new('amqp://localhost') # port 5672 if you are using RabbitMQ's default
95
104
  m.subscribe('test_queue') {|m,p| printf p}
96
105
 
97
106
  Set up a publisher (in another Ruby instance, on another machine, etc.):
98
107
 
99
- require 'messenger'
100
- m = Agni::Messenger.new('amqp://localhost')
108
+ require 'agni'
109
+ m = Agni::Messenger.new('amqp://localhost') # also port 5672 when using RabbitMQ's default
101
110
 
102
111
  It's easy to send some messages. If you don't specify a priority,
103
112
  they will default to a priority of 4.
@@ -18,7 +18,6 @@ Gem::Specification.new do |gem|
18
18
  gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
19
19
  gem.require_paths = ["lib"]
20
20
 
21
- gem.add_dependency('rake')
22
21
  gem.add_dependency('amqp')
23
22
  gem.add_dependency('algorithms')
24
23
  gem.add_dependency('log_mixin')
@@ -165,6 +165,12 @@ module Agni
165
165
  end
166
166
  end
167
167
 
168
+ # Safely shuts down this messenger instance and stops the event
169
+ # machine reactor.
170
+ def shutdown
171
+ EM.add_timer(2, lambda { @connection.close {EM.stop}})
172
+ end
173
+
168
174
  # This method allows a client of the messenger to block on the
169
175
  # execution of the EventMachine, so it can run in a context that
170
176
  # is dedicated to running for the purpose of receiving messages.
@@ -1,3 +1,3 @@
1
1
  module Agni
2
- VERSION = "0.0.3"
2
+ VERSION = "0.0.4"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: agni
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
4
+ version: 0.0.4
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-05-24 00:00:00.000000000 Z
12
+ date: 2013-06-21 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
- name: rake
16
- requirement: &5495860 !ruby/object:Gem::Requirement
15
+ name: amqp
16
+ requirement: !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,21 +21,15 @@ dependencies:
21
21
  version: '0'
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *5495860
25
- - !ruby/object:Gem::Dependency
26
- name: amqp
27
- requirement: &5495260 !ruby/object:Gem::Requirement
24
+ version_requirements: !ruby/object:Gem::Requirement
28
25
  none: false
29
26
  requirements:
30
27
  - - ! '>='
31
28
  - !ruby/object:Gem::Version
32
29
  version: '0'
33
- type: :runtime
34
- prerelease: false
35
- version_requirements: *5495260
36
30
  - !ruby/object:Gem::Dependency
37
31
  name: algorithms
38
- requirement: &5510580 !ruby/object:Gem::Requirement
32
+ requirement: !ruby/object:Gem::Requirement
39
33
  none: false
40
34
  requirements:
41
35
  - - ! '>='
@@ -43,10 +37,15 @@ dependencies:
43
37
  version: '0'
44
38
  type: :runtime
45
39
  prerelease: false
46
- version_requirements: *5510580
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ! '>='
44
+ - !ruby/object:Gem::Version
45
+ version: '0'
47
46
  - !ruby/object:Gem::Dependency
48
47
  name: log_mixin
49
- requirement: &5509260 !ruby/object:Gem::Requirement
48
+ requirement: !ruby/object:Gem::Requirement
50
49
  none: false
51
50
  requirements:
52
51
  - - ! '>='
@@ -54,10 +53,15 @@ dependencies:
54
53
  version: '0'
55
54
  type: :runtime
56
55
  prerelease: false
57
- version_requirements: *5509260
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ! '>='
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
58
62
  - !ruby/object:Gem::Dependency
59
63
  name: rspec
60
- requirement: &5507900 !ruby/object:Gem::Requirement
64
+ requirement: !ruby/object:Gem::Requirement
61
65
  none: false
62
66
  requirements:
63
67
  - - ! '>='
@@ -65,10 +69,15 @@ dependencies:
65
69
  version: '0'
66
70
  type: :development
67
71
  prerelease: false
68
- version_requirements: *5507900
72
+ version_requirements: !ruby/object:Gem::Requirement
73
+ none: false
74
+ requirements:
75
+ - - ! '>='
76
+ - !ruby/object:Gem::Version
77
+ version: '0'
69
78
  - !ruby/object:Gem::Dependency
70
79
  name: pry
71
- requirement: &5506460 !ruby/object:Gem::Requirement
80
+ requirement: !ruby/object:Gem::Requirement
72
81
  none: false
73
82
  requirements:
74
83
  - - ! '>='
@@ -76,10 +85,15 @@ dependencies:
76
85
  version: '0'
77
86
  type: :development
78
87
  prerelease: false
79
- version_requirements: *5506460
88
+ version_requirements: !ruby/object:Gem::Requirement
89
+ none: false
90
+ requirements:
91
+ - - ! '>='
92
+ - !ruby/object:Gem::Version
93
+ version: '0'
80
94
  - !ruby/object:Gem::Dependency
81
95
  name: mocha
82
- requirement: &5505340 !ruby/object:Gem::Requirement
96
+ requirement: !ruby/object:Gem::Requirement
83
97
  none: false
84
98
  requirements:
85
99
  - - ! '>='
@@ -87,7 +101,12 @@ dependencies:
87
101
  version: '0'
88
102
  type: :development
89
103
  prerelease: false
90
- version_requirements: *5505340
104
+ version_requirements: !ruby/object:Gem::Requirement
105
+ none: false
106
+ requirements:
107
+ - - ! '>='
108
+ - !ruby/object:Gem::Version
109
+ version: '0'
91
110
  description: A wrapper around the AMQP gem to support easy messaging between applications.
92
111
  email:
93
112
  - rpdillon@apartmentlist.com
@@ -130,7 +149,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
130
149
  version: '0'
131
150
  requirements: []
132
151
  rubyforge_project:
133
- rubygems_version: 1.8.11
152
+ rubygems_version: 1.8.25
134
153
  signing_key:
135
154
  specification_version: 3
136
155
  summary: Easy RabbitMQ Messaging