magent 0.4 → 0.4.2

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/lib/magent.rb CHANGED
@@ -13,10 +13,38 @@ require 'magent/actor'
13
13
  require 'magent/processor'
14
14
 
15
15
  module Magent
16
- VERSION = '0.4'
16
+ VERSION = '0.4.2'
17
+
18
+ @@db_name = 'magent'
19
+ @@host = 'localhost'
20
+ @@port = '27017'
21
+ @@username = nil
22
+ @@password = nil
23
+
24
+ def self.host=(host)
25
+ @@host = host
26
+ @@port = port
27
+ end
28
+
29
+ def self.port=(port)
30
+ @@port = 27017
31
+ end
32
+
33
+ def self.auth(username,password)
34
+ @@username = username
35
+ @@password = password
36
+ end
37
+
38
+ def self.db_name=(db_name)
39
+ @@db_name = db_name
40
+ end
17
41
 
18
42
  def self.connection
19
- @@connection ||= Mongo::Connection.new(nil, nil, :auto_reconnect => true)
43
+ return @@connection if defined?(@@connection)
44
+ @@connection = Mongo::Connection.new(@@host, @@port)
45
+ @@connection.add_auth(@@db_name, @@username, @@password) if @@username && @@password
46
+
47
+ @@connection
20
48
  end
21
49
 
22
50
  def self.connection=(new_connection)
@@ -28,9 +56,7 @@ module Magent
28
56
  end
29
57
 
30
58
  def self.database
31
- @@database
59
+ @@database ||= Magent.connection.db(@@db_name)
32
60
  end
33
61
  end
34
62
 
35
- Magent.database = 'magent'
36
-
@@ -25,10 +25,12 @@ module Magent
25
25
  end
26
26
 
27
27
  def next_message
28
- Magent.database.command(BSON::OrderedHash[:findandmodify, @name,
29
- :sort, [{:priority => -1}, {:created_at => 1}],
30
- :remove, true
31
- ])["value"]
28
+ rec = Magent.database.command(BSON::OrderedHash[:findandmodify, @name,
29
+ :sort, [{:priority => -1}, {:created_at => 1}],
30
+ :remove, true
31
+ ]) rescue {}
32
+
33
+ rec["value"]
32
34
  end
33
35
 
34
36
  def collection
data/magent.gemspec CHANGED
@@ -2,11 +2,11 @@
2
2
 
3
3
  Gem::Specification.new do |s|
4
4
  s.name = %q{magent}
5
- s.version = "0.4"
5
+ s.version = "0.4.2"
6
6
 
7
7
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
8
8
  s.authors = ["David Cuadrado"]
9
- s.date = %q{2010-05-10}
9
+ s.date = %q{2010-09-06}
10
10
  s.default_executable = %q{magent}
11
11
  s.description = %q{Simple job queue system based on mongodb}
12
12
  s.email = ["krawek@gmail.com"]
@@ -18,7 +18,7 @@ Gem::Specification.new do |s|
18
18
  s.rdoc_options = ["--main", "README.rdoc"]
19
19
  s.require_paths = ["lib"]
20
20
  s.rubyforge_project = %q{magent}
21
- s.rubygems_version = %q{1.3.6}
21
+ s.rubygems_version = %q{1.3.7}
22
22
  s.summary = %q{Simple job queue system based on mongodb}
23
23
  s.test_files = ["test/test_helper.rb", "test/test_magent.rb"]
24
24
 
@@ -26,21 +26,21 @@ Gem::Specification.new do |s|
26
26
  current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
27
27
  s.specification_version = 3
28
28
 
29
- if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
29
+ if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
30
30
  s.add_runtime_dependency(%q<mongo>, [">= 0.1.0"])
31
31
  s.add_runtime_dependency(%q<uuidtools>, [">= 2.0.0"])
32
32
  s.add_development_dependency(%q<rubyforge>, [">= 2.0.4"])
33
- s.add_development_dependency(%q<hoe>, [">= 2.6.0"])
33
+ s.add_development_dependency(%q<hoe>, [">= 2.6.2"])
34
34
  else
35
35
  s.add_dependency(%q<mongo>, [">= 0.1.0"])
36
36
  s.add_dependency(%q<uuidtools>, [">= 2.0.0"])
37
37
  s.add_dependency(%q<rubyforge>, [">= 2.0.4"])
38
- s.add_dependency(%q<hoe>, [">= 2.6.0"])
38
+ s.add_dependency(%q<hoe>, [">= 2.6.2"])
39
39
  end
40
40
  else
41
41
  s.add_dependency(%q<mongo>, [">= 0.1.0"])
42
42
  s.add_dependency(%q<uuidtools>, [">= 2.0.0"])
43
43
  s.add_dependency(%q<rubyforge>, [">= 2.0.4"])
44
- s.add_dependency(%q<hoe>, [">= 2.6.0"])
44
+ s.add_dependency(%q<hoe>, [">= 2.6.2"])
45
45
  end
46
46
  end
metadata CHANGED
@@ -1,11 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: magent
3
3
  version: !ruby/object:Gem::Version
4
+ hash: 11
4
5
  prerelease: false
5
6
  segments:
6
7
  - 0
7
8
  - 4
8
- version: "0.4"
9
+ - 2
10
+ version: 0.4.2
9
11
  platform: ruby
10
12
  authors:
11
13
  - David Cuadrado
@@ -13,16 +15,18 @@ autorequire:
13
15
  bindir: bin
14
16
  cert_chain: []
15
17
 
16
- date: 2010-05-10 00:00:00 -05:00
18
+ date: 2010-09-06 00:00:00 -05:00
17
19
  default_executable:
18
20
  dependencies:
19
21
  - !ruby/object:Gem::Dependency
20
22
  name: mongo
21
23
  prerelease: false
22
24
  requirement: &id001 !ruby/object:Gem::Requirement
25
+ none: false
23
26
  requirements:
24
27
  - - ">="
25
28
  - !ruby/object:Gem::Version
29
+ hash: 27
26
30
  segments:
27
31
  - 0
28
32
  - 1
@@ -34,9 +38,11 @@ dependencies:
34
38
  name: uuidtools
35
39
  prerelease: false
36
40
  requirement: &id002 !ruby/object:Gem::Requirement
41
+ none: false
37
42
  requirements:
38
43
  - - ">="
39
44
  - !ruby/object:Gem::Version
45
+ hash: 15
40
46
  segments:
41
47
  - 2
42
48
  - 0
@@ -48,9 +54,11 @@ dependencies:
48
54
  name: rubyforge
49
55
  prerelease: false
50
56
  requirement: &id003 !ruby/object:Gem::Requirement
57
+ none: false
51
58
  requirements:
52
59
  - - ">="
53
60
  - !ruby/object:Gem::Version
61
+ hash: 7
54
62
  segments:
55
63
  - 2
56
64
  - 0
@@ -62,14 +70,16 @@ dependencies:
62
70
  name: hoe
63
71
  prerelease: false
64
72
  requirement: &id004 !ruby/object:Gem::Requirement
73
+ none: false
65
74
  requirements:
66
75
  - - ">="
67
76
  - !ruby/object:Gem::Version
77
+ hash: 19
68
78
  segments:
69
79
  - 2
70
80
  - 6
71
- - 0
72
- version: 2.6.0
81
+ - 2
82
+ version: 2.6.2
73
83
  type: :development
74
84
  version_requirements: *id004
75
85
  description: Simple job queue system based on mongodb
@@ -117,23 +127,27 @@ rdoc_options:
117
127
  require_paths:
118
128
  - lib
119
129
  required_ruby_version: !ruby/object:Gem::Requirement
130
+ none: false
120
131
  requirements:
121
132
  - - ">="
122
133
  - !ruby/object:Gem::Version
134
+ hash: 3
123
135
  segments:
124
136
  - 0
125
137
  version: "0"
126
138
  required_rubygems_version: !ruby/object:Gem::Requirement
139
+ none: false
127
140
  requirements:
128
141
  - - ">="
129
142
  - !ruby/object:Gem::Version
143
+ hash: 3
130
144
  segments:
131
145
  - 0
132
146
  version: "0"
133
147
  requirements: []
134
148
 
135
149
  rubyforge_project: magent
136
- rubygems_version: 1.3.6
150
+ rubygems_version: 1.3.7
137
151
  signing_key:
138
152
  specification_version: 3
139
153
  summary: Simple job queue system based on mongodb