navvy 0.2.1 → 0.2.2

Sign up to get free protection for your applications and to get access to all the features.
data/Rakefile CHANGED
@@ -10,11 +10,12 @@ begin
10
10
  gem.email = "jeff@kreeftmeijer.nl"
11
11
  gem.homepage = "http://github.com/jeffkreeftmeijer/navvy"
12
12
  gem.authors = ["Jeff Kreeftmeijer"]
13
+
13
14
  gem.add_development_dependency "rspec", ">= 1.2.9"
14
15
  gem.add_development_dependency "yard", ">= 0.5.2"
15
- gem.add_development_dependency "mongo_mapper", ">= 0.6.10"
16
16
  gem.add_development_dependency "sequel", ">= 3.8.0"
17
17
  gem.add_development_dependency "sqlite3-ruby", ">= 1.2.5"
18
+ gem.add_dependency "daemons", ">= 1.0.0"
18
19
  end
19
20
  Jeweler::GemcutterTasks.new
20
21
  rescue LoadError
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.2.1
1
+ 0.2.2
data/lib/navvy/job.rb CHANGED
@@ -64,7 +64,7 @@ module Navvy
64
64
  def run
65
65
  begin
66
66
  started
67
- result = Kernel.const_get(object).send(method_name, *args)
67
+ result = constantize(object).send(method_name, *args)
68
68
  Navvy::Job.keep? ? completed : destroy
69
69
  result
70
70
  rescue Exception => exception
@@ -152,5 +152,22 @@ module Navvy
152
152
 
153
153
  alias_method :completed?, :completed_at?
154
154
  alias_method :failed?, :failed_at?
155
+
156
+ private
157
+
158
+ ##
159
+ # Turn a constant with potential namespacing into an object
160
+ #
161
+ # @return [Class] class
162
+
163
+ def constantize(str)
164
+ names = str.split('::')
165
+ names.shift if names.empty? || names.first.empty?
166
+ constant = Object
167
+ names.each do |name|
168
+ constant = constant.const_defined?(name) ? constant.const_get(name) : constant.const_missing(name)
169
+ end
170
+ constant
171
+ end
155
172
  end
156
173
  end
data/navvy.gemspec CHANGED
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{navvy}
8
- s.version = "0.2.1"
8
+ s.version = "0.2.2"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Jeff Kreeftmeijer"]
12
- s.date = %q{2010-02-10}
12
+ s.date = %q{2010-02-23}
13
13
  s.description = %q{Simple background job processor inspired by delayed_job, but aiming for database agnosticism.}
14
14
  s.email = %q{jeff@kreeftmeijer.nl}
15
15
  s.extra_rdoc_files = [
@@ -76,21 +76,21 @@ Gem::Specification.new do |s|
76
76
  if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
77
77
  s.add_development_dependency(%q<rspec>, [">= 1.2.9"])
78
78
  s.add_development_dependency(%q<yard>, [">= 0.5.2"])
79
- s.add_development_dependency(%q<mongo_mapper>, [">= 0.6.10"])
80
79
  s.add_development_dependency(%q<sequel>, [">= 3.8.0"])
81
80
  s.add_development_dependency(%q<sqlite3-ruby>, [">= 1.2.5"])
81
+ s.add_runtime_dependency(%q<daemons>, [">= 1.0.0"])
82
82
  else
83
83
  s.add_dependency(%q<rspec>, [">= 1.2.9"])
84
84
  s.add_dependency(%q<yard>, [">= 0.5.2"])
85
- s.add_dependency(%q<mongo_mapper>, [">= 0.6.10"])
86
85
  s.add_dependency(%q<sequel>, [">= 3.8.0"])
87
86
  s.add_dependency(%q<sqlite3-ruby>, [">= 1.2.5"])
87
+ s.add_dependency(%q<daemons>, [">= 1.0.0"])
88
88
  end
89
89
  else
90
90
  s.add_dependency(%q<rspec>, [">= 1.2.9"])
91
91
  s.add_dependency(%q<yard>, [">= 0.5.2"])
92
- s.add_dependency(%q<mongo_mapper>, [">= 0.6.10"])
93
92
  s.add_dependency(%q<sequel>, [">= 3.8.0"])
94
93
  s.add_dependency(%q<sqlite3-ruby>, [">= 1.2.5"])
94
+ s.add_dependency(%q<daemons>, [">= 1.0.0"])
95
95
  end
96
96
  end
data/spec/job_spec.rb CHANGED
@@ -486,4 +486,11 @@ describe 'Navvy::Job' do
486
486
  job.args.count.should == 2
487
487
  end
488
488
  end
489
+
490
+ describe '#namespaced' do
491
+ it 'should accept a namespaced class name' do
492
+ job = Navvy::Job.enqueue(Animals::Cow, :speak)
493
+ job.run.should == 'moo'
494
+ end
495
+ end
489
496
  end
data/spec/spec_helper.rb CHANGED
@@ -39,6 +39,18 @@ class Cow
39
39
  end
40
40
  end
41
41
 
42
+ module Animals
43
+ class Cow
44
+ def self.speak
45
+ 'moo'
46
+ end
47
+
48
+ def self.broken
49
+ raise 'this method is broken'
50
+ end
51
+ end
52
+ end
53
+
42
54
  Navvy.configure do |config|
43
55
  config.quiet = true
44
56
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: navvy
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
4
+ version: 0.2.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jeff Kreeftmeijer
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2010-02-10 00:00:00 +01:00
12
+ date: 2010-02-23 00:00:00 +01:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
@@ -33,34 +33,34 @@ dependencies:
33
33
  version: 0.5.2
34
34
  version:
35
35
  - !ruby/object:Gem::Dependency
36
- name: mongo_mapper
36
+ name: sequel
37
37
  type: :development
38
38
  version_requirement:
39
39
  version_requirements: !ruby/object:Gem::Requirement
40
40
  requirements:
41
41
  - - ">="
42
42
  - !ruby/object:Gem::Version
43
- version: 0.6.10
43
+ version: 3.8.0
44
44
  version:
45
45
  - !ruby/object:Gem::Dependency
46
- name: sequel
46
+ name: sqlite3-ruby
47
47
  type: :development
48
48
  version_requirement:
49
49
  version_requirements: !ruby/object:Gem::Requirement
50
50
  requirements:
51
51
  - - ">="
52
52
  - !ruby/object:Gem::Version
53
- version: 3.8.0
53
+ version: 1.2.5
54
54
  version:
55
55
  - !ruby/object:Gem::Dependency
56
- name: sqlite3-ruby
57
- type: :development
56
+ name: daemons
57
+ type: :runtime
58
58
  version_requirement:
59
59
  version_requirements: !ruby/object:Gem::Requirement
60
60
  requirements:
61
61
  - - ">="
62
62
  - !ruby/object:Gem::Version
63
- version: 1.2.5
63
+ version: 1.0.0
64
64
  version:
65
65
  description: Simple background job processor inspired by delayed_job, but aiming for database agnosticism.
66
66
  email: jeff@kreeftmeijer.nl