ncr-background_fu 1.0.9 → 1.0.10

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/History.txt CHANGED
@@ -1,3 +1,10 @@
1
+
2
+
3
+ === 1.0.10 / 2009-02-07
4
+
5
+ * Compatibility fixes for Rails 2.2.2. [infused, ovelar, ncr]
6
+ * Allow concurrency is deprecated in Rails 2.2 so we check if we can use it. (thanks fixlr).
7
+
1
8
  === 1.0.9 / 2008-10-22
2
9
 
3
10
  * Merged a few important fixes from Keith Morrison. Bumped version, fixed gemspec (thanks 森山 誠二郎). Closes #4. [Keith Morrison, 森山 誠二郎, ncr]
data/Manifest.txt CHANGED
@@ -28,3 +28,5 @@ lib/background_fu/worker_monitoring.rb
28
28
  lib/job.rb
29
29
  lib/job/bonus_features.rb
30
30
  rails/init.rb
31
+ test/job_test.rb
32
+ test/test_helper.rb
data/README.txt CHANGED
@@ -17,13 +17,14 @@ Background tasks in Ruby On Rails made dead simple.
17
17
  * Clean and straightforward approach (database-based priority queue).
18
18
  * Uses database table (migration included) to store jobs reliably.
19
19
  * Capistrano tasks included.
20
- * Generators with migrations and example views included (to be used with concurrency enabled).
20
+ * Generators with migrations and example views (Prototype required) included (to be used with concurrency enabled).
21
21
  * Multiple worker daemons available.
22
22
  * Easy to deploy in distributed environments.
23
23
  * Enables prioritizing and simple scheduling.
24
24
  * Optional worker monitoring (good for AJAX progress bars).
25
25
  * Proven its stability and reliability in production use.
26
26
 
27
+
27
28
  == SYNOPSIS:
28
29
 
29
30
  ruby ./script/generate background
data/Rakefile CHANGED
@@ -6,3 +6,10 @@ Hoe.new('background-fu', BackgroundFu::VERSION) do |p|
6
6
  p.rubyforge_name = 'background-fu'
7
7
  p.developer('Jacek Becela', 'jacek.becela@gmail.com')
8
8
  end
9
+
10
+ desc 'Test the background-fu plugin.'
11
+ Rake::TestTask.new(:test) do |t|
12
+ t.libs << 'lib'
13
+ t.pattern = 'test/**/*_test.rb'
14
+ t.verbose = true
15
+ end
@@ -1,16 +1,16 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = %q{background_fu}
3
- s.version = "1.0.9"
3
+ s.version = "1.0.10"
4
4
 
5
5
  s.specification_version = 2 if s.respond_to? :specification_version=
6
6
 
7
7
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
8
8
  s.authors = ["Jacek Becela"]
9
- s.date = %q{2008-10-22}
9
+ s.date = %q{2009-02-07}
10
10
  s.description = %q{Background tasks in Ruby On Rails made dead simple.}
11
11
  s.email = ["jacek.becela@gmail.com"]
12
12
  s.extra_rdoc_files = ["History.txt", "Manifest.txt", "README.txt"]
13
- s.files = ["History.txt", "Manifest.txt", "README.txt", "Rakefile", "background-fu.gemspec", "generators/background/USAGE", "generators/background/background_generator.rb", "generators/background/templates/background.rb", "generators/background/templates/background_ctl", "generators/background/templates/daemons", "generators/background/templates/daemons.yml", "generators/background/templates/example_monitored_worker.rb", "generators/background/templates/example_worker.rb", "generators/background/templates/migration.rb", "generators/background/templates/scaffold/_form.html.erb", "generators/background/templates/scaffold/_job.html.erb", "generators/background/templates/scaffold/_job_deleted.html.erb", "generators/background/templates/scaffold/_progress_indicator.html.erb", "generators/background/templates/scaffold/application_controller.rb", "generators/background/templates/scaffold/background_fu.css", "generators/background/templates/scaffold/index.html.erb", "generators/background/templates/scaffold/jobs.html.erb", "generators/background/templates/scaffold/jobs_controller.rb", "generators/background/templates/scaffold/jobs_helper.rb", "generators/background/templates/scaffold/new.html.erb", "lib/background_fu.rb", "lib/background_fu/worker_monitoring.rb", "lib/job.rb", "lib/job/bonus_features.rb", "rails/init.rb"]
13
+ s.files = ["History.txt", "Manifest.txt", "README.txt", "Rakefile", "background-fu.gemspec", "generators/background/USAGE", "generators/background/background_generator.rb", "generators/background/templates/background.rb", "generators/background/templates/background_ctl", "generators/background/templates/daemons", "generators/background/templates/daemons.yml", "generators/background/templates/example_monitored_worker.rb", "generators/background/templates/example_worker.rb", "generators/background/templates/migration.rb", "generators/background/templates/scaffold/_form.html.erb", "generators/background/templates/scaffold/_job.html.erb", "generators/background/templates/scaffold/_job_deleted.html.erb", "generators/background/templates/scaffold/_progress_indicator.html.erb", "generators/background/templates/scaffold/application_controller.rb", "generators/background/templates/scaffold/background_fu.css", "generators/background/templates/scaffold/index.html.erb", "generators/background/templates/scaffold/jobs.html.erb", "generators/background/templates/scaffold/jobs_controller.rb", "generators/background/templates/scaffold/jobs_helper.rb", "generators/background/templates/scaffold/new.html.erb", "lib/background_fu.rb", "lib/background_fu/worker_monitoring.rb", "lib/job.rb", "lib/job/bonus_features.rb", "rails/init.rb", "test/job_test.rb", "test/test_helper.rb"]
14
14
  s.has_rdoc = true
15
15
  s.homepage = %q{http://github.com/ncr/background-fu}
16
16
  s.rdoc_options = ["--main", "README.txt"]
data/lib/background_fu.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  module BackgroundFu
2
2
 
3
- VERSION = "1.0.9"
3
+ VERSION = "1.0.10"
4
4
 
5
5
  end
data/lib/job.rb CHANGED
@@ -56,7 +56,7 @@ class Job < ActiveRecord::Base
56
56
  end
57
57
 
58
58
  def invoke_worker
59
- self.result = @worker.send!(worker_method, *args)
59
+ self.result = @worker.send(worker_method, *args)
60
60
  self.state = "finished"
61
61
  logger.info("BackgroundFu: Job finished. Job(id: #{id}).")
62
62
  end
@@ -83,7 +83,7 @@ class Job < ActiveRecord::Base
83
83
  end
84
84
 
85
85
  # Job.running => array of running jobs, etc.
86
- self.class.send!(:define_method, state_name) do
86
+ self.class.send(:define_method, state_name) do
87
87
  find_all_by_state(state_name, :order => "id desc")
88
88
  end
89
89
  end
data/rails/init.rb CHANGED
@@ -3,9 +3,8 @@ require 'background_fu/worker_monitoring'
3
3
  require 'job'
4
4
  require 'job/bonus_features'
5
5
 
6
- # ActiveSupport::Dependencies will be here after edge becomes stable.
7
- Dependencies.load_paths << "#{RAILS_ROOT}/lib/workers"
6
+ ActiveSupport::Dependencies.load_paths << "#{RAILS_ROOT}/lib/workers"
8
7
 
9
- if ActiveRecord::Base.allow_concurrency
10
- Job.send!(:include, Job::BonusFeatures)
8
+ if ActiveRecord::Base.method_defined?(:allow_concurrency) and ActiveRecord::Base.allow_concurrency
9
+ Job.send(:include, Job::BonusFeatures)
11
10
  end
data/test/job_test.rb ADDED
@@ -0,0 +1,14 @@
1
+ require File.dirname(__FILE__) + '/test_helper.rb'
2
+ require File.dirname(__FILE__) + '/../lib/job.rb'
3
+
4
+ class JobTest < Test::Unit::TestCase
5
+
6
+ def setup
7
+ ActiveRecord::Base.allow_concurrency = false
8
+ @job = Job.new
9
+ end
10
+
11
+ should_have_readonly_attributes :worker_class, :worker_method, :args
12
+ should_require_attributes :worker_class, :worker_method
13
+
14
+ end
@@ -0,0 +1,39 @@
1
+ # supress warnings
2
+ $VERBOSE = false
3
+
4
+ require 'rubygems'
5
+ require 'mocha'
6
+ require 'active_record'
7
+ require 'test/unit'
8
+
9
+ # gem install thoughtbot-shoulda --source http://gems.github.com
10
+ require 'shoulda'
11
+ require 'shoulda/active_record'
12
+
13
+ ActiveRecord::Base.logger = Logger.new(File.join(File.dirname(__FILE__), 'test.log'))
14
+ ActiveRecord::Base.establish_connection(:adapter => 'sqlite3', :dbfile => ':memory:')
15
+
16
+ ActiveRecord::Schema.define do
17
+ create_table :jobs do |t|
18
+ t.string :worker_class
19
+ t.string :worker_method
20
+
21
+ t.text :args
22
+ t.text :result
23
+
24
+ t.integer :priority
25
+
26
+ t.integer :progress
27
+ t.string :state
28
+
29
+ t.integer :lock_version, :default => 0
30
+
31
+ t.timestamp :start_at
32
+ t.timestamp :started_at
33
+ t.timestamps
34
+ end
35
+
36
+ add_index :jobs, :state
37
+ add_index :jobs, :start_at
38
+ add_index :jobs, :priority
39
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ncr-background_fu
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.9
4
+ version: 1.0.10
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jacek Becela
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2008-10-22 00:00:00 -07:00
12
+ date: 2009-02-07 00:00:00 -08:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
@@ -63,6 +63,8 @@ files:
63
63
  - lib/job.rb
64
64
  - lib/job/bonus_features.rb
65
65
  - rails/init.rb
66
+ - test/job_test.rb
67
+ - test/test_helper.rb
66
68
  has_rdoc: true
67
69
  homepage: http://github.com/ncr/background-fu
68
70
  post_install_message: