magent 0.4 → 0.4.2

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