agni 0.0.3 → 0.0.4

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