Hello community,
here is the log from the commit of package rubygem-delayed_job_active_record
for openSUSE:Factory checked in at 2015-01-29 09:57:10
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/rubygem-delayed_job_active_record (Old)
and /work/SRC/openSUSE:Factory/.rubygem-delayed_job_active_record.new
(New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "rubygem-delayed_job_active_record"
Changes:
--------
---
/work/SRC/openSUSE:Factory/rubygem-delayed_job_active_record/rubygem-delayed_job_active_record.changes
2014-10-14 07:11:42.000000000 +0200
+++
/work/SRC/openSUSE:Factory/.rubygem-delayed_job_active_record.new/rubygem-delayed_job_active_record.changes
2015-01-29 09:57:12.000000000 +0100
@@ -1,0 +2,6 @@
+Wed Jan 28 13:52:47 UTC 2015 - [email protected]
+
+- update to version 4.0.3
+ for rails 4.2
+
+-------------------------------------------------------------------
Old:
----
delayed_job_active_record-4.0.1.gem
New:
----
delayed_job_active_record-4.0.3.gem
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ rubygem-delayed_job_active_record.spec ++++++
--- /var/tmp/diff_new_pack.DC5D2z/_old 2015-01-29 09:57:13.000000000 +0100
+++ /var/tmp/diff_new_pack.DC5D2z/_new 2015-01-29 09:57:13.000000000 +0100
@@ -1,7 +1,7 @@
#
# spec file for package rubygem-delayed_job_active_record
#
-# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -17,7 +17,7 @@
Name: rubygem-delayed_job_active_record
-Version: 4.0.1
+Version: 4.0.3
Release: 0
%define mod_name delayed_job_active_record
%define mod_full_name %{mod_name}-%{version}
++++++ delayed_job_active_record-4.0.1.gem ->
delayed_job_active_record-4.0.3.gem ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Rakefile new/Rakefile
--- old/Rakefile 2014-04-12 22:21:15.000000000 +0200
+++ new/Rakefile 1970-01-01 01:00:00.000000000 +0100
@@ -1,35 +0,0 @@
-# -*- encoding: utf-8 -*-
-require "bundler/gem_helper"
-Bundler::GemHelper.install_tasks
-
-require "rspec/core/rake_task"
-
-ADAPTERS = %w(mysql postgresql sqlite3)
-
-ADAPTERS.each do |adapter|
- desc "Run RSpec code examples for #{adapter} adapter"
- RSpec::Core::RakeTask.new(adapter => "#{adapter}:adapter")
-
- namespace adapter do
- task :adapter do
- ENV["ADAPTER"] = adapter
- end
- end
-end
-
-task :coverage do
- ENV["COVERAGE"] = "true"
-end
-
-task :adapter do
- ENV["ADAPTER"] = nil
-end
-
-Rake::Task[:spec].enhance do
- require "simplecov"
- require "coveralls"
-
- Coveralls::SimpleCov::Formatter.new.format(SimpleCov.result)
-end
-
-task default: ([:coverage] + ADAPTERS + [:adapter])
Files old/checksums.yaml.gz and new/checksums.yaml.gz differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/delayed_job_active_record.gemspec
new/delayed_job_active_record.gemspec
--- old/delayed_job_active_record.gemspec 2014-04-12 22:21:15.000000000
+0200
+++ new/delayed_job_active_record.gemspec 2014-12-22 18:17:04.000000000
+0100
@@ -1,19 +1,14 @@
-# coding: utf-8
-
Gem::Specification.new do |spec|
- spec.add_dependency 'activerecord', ['>= 3.0', '< 4.2']
- spec.add_dependency 'delayed_job', ['>= 3.0', '< 4.1']
+ spec.add_dependency "activerecord", [">= 3.0", "< 5.0"]
+ spec.add_dependency "delayed_job", [">= 3.0", "< 4.1"]
spec.authors = ["Brian Ryckbost", "Matt Griffin", "Erik
Michaels-Ober"]
- spec.description = 'ActiveRecord backend for Delayed::Job, originally
authored by Tobias Lütke'
- spec.email = ['[email protected]', '[email protected]',
'[email protected]']
- spec.files = %w(CONTRIBUTING.md LICENSE.md README.md Rakefile
delayed_job_active_record.gemspec)
- spec.files += Dir.glob("lib/**/*.rb")
- spec.files += Dir.glob("spec/**/*")
- spec.homepage =
'http://github.com/collectiveidea/delayed_job_active_record'
- spec.licenses = ['MIT']
- spec.name = 'delayed_job_active_record'
- spec.require_paths = ['lib']
- spec.summary = 'ActiveRecord backend for DelayedJob'
- spec.test_files = Dir.glob("spec/**/*")
- spec.version = '4.0.1'
+ spec.description = "ActiveRecord backend for Delayed::Job, originally
authored by Tobias Lütke"
+ spec.email = ["[email protected]", "[email protected]",
"[email protected]"]
+ spec.files = %w(CONTRIBUTING.md LICENSE.md README.md
delayed_job_active_record.gemspec) + Dir["lib/**/*.rb"]
+ spec.homepage =
"http://github.com/collectiveidea/delayed_job_active_record"
+ spec.licenses = ["MIT"]
+ spec.name = "delayed_job_active_record"
+ spec.require_paths = ["lib"]
+ spec.summary = "ActiveRecord backend for DelayedJob"
+ spec.version = "4.0.3"
end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/delayed/backend/active_record.rb
new/lib/delayed/backend/active_record.rb
--- old/lib/delayed/backend/active_record.rb 2014-04-12 22:21:15.000000000
+0200
+++ new/lib/delayed/backend/active_record.rb 2014-12-22 18:17:04.000000000
+0100
@@ -1,4 +1,4 @@
-require 'active_record/version'
+require "active_record/version"
module Delayed
module Backend
module ActiveRecord
@@ -12,7 +12,7 @@
:failed_at, :locked_at, :locked_by, :handler
end
- scope :by_priority, lambda { order('priority ASC, run_at ASC') }
+ scope :by_priority, lambda { order("priority ASC, run_at ASC") }
before_save :set_default_run_at
@@ -21,10 +21,10 @@
self.table_name = delayed_job_table_name
end
- self.set_delayed_job_table_name
+ set_delayed_job_table_name
def self.ready_to_run(worker_name, max_run_time)
- where('(run_at <= ? AND (locked_at IS NULL OR locked_at < ?) OR
locked_by = ?) AND failed_at IS NULL', db_time_now, db_time_now - max_run_time,
worker_name)
+ where("(run_at <= ? AND (locked_at IS NULL OR locked_at < ?) OR
locked_by = ?) AND failed_at IS NULL", db_time_now, db_time_now - max_run_time,
worker_name)
end
def self.before_fork
@@ -37,54 +37,70 @@
# When a worker is exiting, make sure we don't have any locked jobs.
def self.clear_locks!(worker_name)
- where(:locked_by => worker_name).update_all(:locked_by => nil,
:locked_at => nil)
+ where(locked_by: worker_name).update_all(locked_by: nil, locked_at:
nil)
end
- def self.reserve(worker, max_run_time = Worker.max_run_time)
+ def self.reserve(worker, max_run_time = Worker.max_run_time) #
rubocop:disable CyclomaticComplexity
# scope to filter to records that are "ready to run"
- ready_scope = self.ready_to_run(worker.name, max_run_time)
+ ready_scope = ready_to_run(worker.name, max_run_time)
# scope to filter to the single next eligible job
- ready_scope = ready_scope.where('priority >= ?',
Worker.min_priority) if Worker.min_priority
- ready_scope = ready_scope.where('priority <= ?',
Worker.max_priority) if Worker.max_priority
- ready_scope = ready_scope.where(:queue => Worker.queues) if
Worker.queues.any?
+ ready_scope = ready_scope.where("priority >= ?",
Worker.min_priority) if Worker.min_priority
+ ready_scope = ready_scope.where("priority <= ?",
Worker.max_priority) if Worker.max_priority
+ ready_scope = ready_scope.where(queue: Worker.queues) if
Worker.queues.any?
ready_scope = ready_scope.by_priority
- now = self.db_time_now
+ reserve_with_scope(ready_scope, worker, db_time_now)
+ end
+ def self.reserve_with_scope(ready_scope, worker, now)
# Optimizations for faster lookups on some common databases
- case self.connection.adapter_name
+ case connection.adapter_name
when "PostgreSQL"
# Custom SQL required for PostgreSQL because postgres does not
support UPDATE...LIMIT
- # This locks the single record 'FOR UPDATE' in the subquery
(http://www.postgresql.org/docs/9.0/static/sql-select.html#SQL-FOR-UPDATE-SHARE)
- # Note: active_record would attempt to generate UPDATE...LIMIT
like sql for postgres if we use a .limit() filter, but it would not use
- # 'FOR UPDATE' and we would have many locking conflicts
- quoted_table_name =
self.connection.quote_table_name(self.table_name)
- subquery_sql =
ready_scope.limit(1).lock(true).select('id').to_sql
- reserved = self.find_by_sql(["UPDATE #{quoted_table_name}
SET locked_at = ?, locked_by = ? WHERE id IN (#{subquery_sql}) RETURNING *",
now, worker.name])
+ # This locks the single record 'FOR UPDATE' in the subquery
+ #
http://www.postgresql.org/docs/9.0/static/sql-select.html#SQL-FOR-UPDATE-SHARE
+ # Note: active_record would attempt to generate UPDATE...LIMIT like
+ # SQL for Postgres if we use a .limit() filter, but it would not
+ # use 'FOR UPDATE' and we would have many locking conflicts
+ quoted_table_name = connection.quote_table_name(table_name)
+ subquery_sql =
ready_scope.limit(1).lock(true).select("id").to_sql
+ reserved = find_by_sql(["UPDATE #{quoted_table_name} SET
locked_at = ?, locked_by = ? WHERE id IN (#{subquery_sql}) RETURNING *", now,
worker.name])
reserved[0]
when "MySQL", "Mysql2"
- # This works on MySQL and possibly some other DBs that support
UPDATE...LIMIT. It uses separate queries to lock and return the job
- count = ready_scope.limit(1).update_all(:locked_at => now,
:locked_by => worker.name)
+ # Removing the millisecond precision from now(time object)
+ # MySQL 5.6.4 onwards millisecond precision exists, but the
+ # datetime object created doesn't have precision, so discarded
+ # while updating. But during the where clause, for mysql(>=5.6.4),
+ # it queries with precision as well. So removing the precision
+ now = now.change(usec: 0)
+ # This works on MySQL and possibly some other DBs that support
+ # UPDATE...LIMIT. It uses separate queries to lock and return the
job
+ count = ready_scope.limit(1).update_all(locked_at: now, locked_by:
worker.name)
return nil if count == 0
- self.where(:locked_at => now, :locked_by => worker.name,
:failed_at => nil).first
+ where(locked_at: now, locked_by: worker.name, failed_at: nil).first
when "MSSQL", "Teradata"
- # The MSSQL driver doesn't generate a limit clause when update_all
is called directly
+ # The MSSQL driver doesn't generate a limit clause when update_all
+ # is called directly
subsubquery_sql = ready_scope.limit(1).to_sql
# select("id") doesn't generate a subquery, so force a subquery
subquery_sql = "SELECT id FROM (#{subsubquery_sql}) AS x"
- quoted_table_name =
self.connection.quote_table_name(self.table_name)
+ quoted_table_name = connection.quote_table_name(table_name)
sql = ["UPDATE #{quoted_table_name} SET locked_at = ?, locked_by =
? WHERE id IN (#{subquery_sql})", now, worker.name]
- count = self.connection.execute(sanitize_sql(sql))
+ count = connection.execute(sanitize_sql(sql))
return nil if count == 0
# MSSQL JDBC doesn't support OUTPUT INSERTED.* for returning a
result set, so query locked row
- self.where(:locked_at => now, :locked_by => worker.name,
:failed_at => nil).first
+ where(locked_at: now, locked_by: worker.name, failed_at: nil).first
else
- # This is our old fashion, tried and true, but slower lookup
- ready_scope.limit(worker.read_ahead).detect do |job|
- count = ready_scope.where(:id => job.id).update_all(:locked_at
=> now, :locked_by => worker.name)
- count == 1 && job.reload
- end
+ reserve_with_scope_using_default_sql(ready_scope, worker, now)
+ end
+ end
+
+ def self.reserve_with_scope_using_default_sql(ready_scope, worker, now)
+ # This is our old fashion, tried and true, but slower lookup
+ ready_scope.limit(worker.read_ahead).detect do |job|
+ count = ready_scope.where(id: job.id).update_all(locked_at: now,
locked_by: worker.name)
+ count == 1 && job.reload
end
end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/delayed_job_active_record.rb
new/lib/delayed_job_active_record.rb
--- old/lib/delayed_job_active_record.rb 2014-04-12 22:21:15.000000000
+0200
+++ new/lib/delayed_job_active_record.rb 2014-12-22 18:17:04.000000000
+0100
@@ -1,5 +1,5 @@
-require 'active_record'
-require 'delayed_job'
-require 'delayed/backend/active_record'
+require "active_record"
+require "delayed_job"
+require "delayed/backend/active_record"
Delayed::Worker.backend = :active_record
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/lib/generators/delayed_job/active_record_generator.rb
new/lib/generators/delayed_job/active_record_generator.rb
--- old/lib/generators/delayed_job/active_record_generator.rb 2014-04-12
22:21:15.000000000 +0200
+++ new/lib/generators/delayed_job/active_record_generator.rb 2014-12-22
18:17:04.000000000 +0100
@@ -1,7 +1,7 @@
-require 'generators/delayed_job/delayed_job_generator'
-require 'generators/delayed_job/next_migration_version'
-require 'rails/generators/migration'
-require 'rails/generators/active_record'
+require "generators/delayed_job/delayed_job_generator"
+require "generators/delayed_job/next_migration_version"
+require "rails/generators/migration"
+require "rails/generators/active_record"
# Extend the DelayedJobGenerator so that it creates an AR migration
module DelayedJob
@@ -9,13 +9,13 @@
include Rails::Generators::Migration
extend NextMigrationVersion
- self.source_paths << File.join(File.dirname(__FILE__), 'templates')
+ source_paths << File.join(File.dirname(__FILE__), "templates")
def create_migration_file
- migration_template 'migration.rb', 'db/migrate/create_delayed_jobs.rb'
+ migration_template "migration.rb", "db/migrate/create_delayed_jobs.rb"
end
- def self.next_migration_number dirname
+ def self.next_migration_number(dirname)
ActiveRecord::Generators::Base.next_migration_number dirname
end
end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/generators/delayed_job/next_migration_version.rb
new/lib/generators/delayed_job/next_migration_version.rb
--- old/lib/generators/delayed_job/next_migration_version.rb 2014-04-12
22:21:15.000000000 +0200
+++ new/lib/generators/delayed_job/next_migration_version.rb 2014-12-22
18:17:04.000000000 +0100
@@ -5,9 +5,9 @@
def next_migration_number(dirname)
next_migration_number = current_migration_number(dirname) + 1
if ActiveRecord::Base.timestamped_migrations
- [Time.now.utc.strftime("%Y%m%d%H%M%S"), "%.14d" %
next_migration_number].max
+ [Time.now.utc.strftime("%Y%m%d%H%M%S"), format("%.14d",
next_migration_number)].max
else
- "%.3d" % next_migration_number
+ format("%.3d", next_migration_number)
end
end
end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/generators/delayed_job/templates/migration.rb
new/lib/generators/delayed_job/templates/migration.rb
--- old/lib/generators/delayed_job/templates/migration.rb 2014-04-12
22:21:15.000000000 +0200
+++ new/lib/generators/delayed_job/templates/migration.rb 2014-12-22
18:17:04.000000000 +0100
@@ -1,19 +1,19 @@
class CreateDelayedJobs < ActiveRecord::Migration
def self.up
- create_table :delayed_jobs, :force => true do |table|
- table.integer :priority, :default => 0, :null => false # Allows some
jobs to jump to the front of the queue
- table.integer :attempts, :default => 0, :null => false # Provides for
retries, but still fail eventually.
- table.text :handler, :null => false # YAML-encoded
string of the object that will do work
- table.text :last_error # reason for
last failure (See Note below)
- table.datetime :run_at # When to run.
Could be Time.zone.now for immediately, or sometime in the future.
- table.datetime :locked_at # Set when a
client is working on this object
- table.datetime :failed_at # Set when all
retries have failed (actually, by default, the record is deleted instead)
- table.string :locked_by # Who is working
on this object (if locked)
- table.string :queue # The name of
the queue this job is in
- table.timestamps
+ create_table :delayed_jobs, force: true do |table|
+ table.integer :priority, default: 0, null: false # Allows some jobs to
jump to the front of the queue
+ table.integer :attempts, default: 0, null: false # Provides for retries,
but still fail eventually.
+ table.text :handler, null: false # YAML-encoded string
of the object that will do work
+ table.text :last_error # reason for last
failure (See Note below)
+ table.datetime :run_at # When to run. Could be
Time.zone.now for immediately, or sometime in the future.
+ table.datetime :locked_at # Set when a client is
working on this object
+ table.datetime :failed_at # Set when all retries
have failed (actually, by default, the record is deleted instead)
+ table.string :locked_by # Who is working on
this object (if locked)
+ table.string :queue # The name of the queue
this job is in
+ table.timestamps null: true
end
- add_index :delayed_jobs, [:priority, :run_at], :name =>
'delayed_jobs_priority'
+ add_index :delayed_jobs, [:priority, :run_at], name:
"delayed_jobs_priority"
end
def self.down
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/generators/delayed_job/upgrade_generator.rb
new/lib/generators/delayed_job/upgrade_generator.rb
--- old/lib/generators/delayed_job/upgrade_generator.rb 2014-04-12
22:21:15.000000000 +0200
+++ new/lib/generators/delayed_job/upgrade_generator.rb 2014-12-22
18:17:04.000000000 +0100
@@ -1,7 +1,7 @@
-require 'generators/delayed_job/delayed_job_generator'
-require 'generators/delayed_job/next_migration_version'
-require 'rails/generators/migration'
-require 'rails/generators/active_record'
+require "generators/delayed_job/delayed_job_generator"
+require "generators/delayed_job/next_migration_version"
+require "rails/generators/migration"
+require "rails/generators/active_record"
# Extend the DelayedJobGenerator so that it creates an AR migration
module DelayedJob
@@ -9,13 +9,13 @@
include Rails::Generators::Migration
extend NextMigrationVersion
- self.source_paths << File.join(File.dirname(__FILE__), 'templates')
+ source_paths << File.join(File.dirname(__FILE__), "templates")
def create_migration_file
- migration_template 'upgrade_migration.rb',
'db/migrate/add_queue_to_delayed_jobs.rb'
+ migration_template "upgrade_migration.rb",
"db/migrate/add_queue_to_delayed_jobs.rb"
end
- def self.next_migration_number dirname
+ def self.next_migration_number(dirname)
ActiveRecord::Generators::Base.next_migration_number dirname
end
end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/metadata new/metadata
--- old/metadata 2014-04-12 22:21:15.000000000 +0200
+++ new/metadata 2014-12-22 18:17:04.000000000 +0100
@@ -1,7 +1,7 @@
--- !ruby/object:Gem::Specification
name: delayed_job_active_record
version: !ruby/object:Gem::Version
- version: 4.0.1
+ version: 4.0.3
platform: ruby
authors:
- Brian Ryckbost
@@ -10,7 +10,7 @@
autorequire:
bindir: bin
cert_chain: []
-date: 2014-04-12 00:00:00.000000000 Z
+date: 2014-12-22 00:00:00.000000000 Z
dependencies:
- !ruby/object:Gem::Dependency
name: activerecord
@@ -21,7 +21,7 @@
version: '3.0'
- - "<"
- !ruby/object:Gem::Version
- version: '4.2'
+ version: '5.0'
type: :runtime
prerelease: false
version_requirements: !ruby/object:Gem::Requirement
@@ -31,7 +31,7 @@
version: '3.0'
- - "<"
- !ruby/object:Gem::Version
- version: '4.2'
+ version: '5.0'
- !ruby/object:Gem::Dependency
name: delayed_job
requirement: !ruby/object:Gem::Requirement
@@ -65,7 +65,6 @@
- CONTRIBUTING.md
- LICENSE.md
- README.md
-- Rakefile
- delayed_job_active_record.gemspec
- lib/delayed/backend/active_record.rb
- lib/delayed_job_active_record.rb
@@ -74,10 +73,6 @@
- lib/generators/delayed_job/templates/migration.rb
- lib/generators/delayed_job/templates/upgrade_migration.rb
- lib/generators/delayed_job/upgrade_generator.rb
-- spec/database.yml
-- spec/delayed/backend/active_record_spec.rb
-- spec/delayed/serialization/active_record_spec.rb
-- spec/helper.rb
homepage: http://github.com/collectiveidea/delayed_job_active_record
licenses:
- MIT
@@ -98,12 +93,8 @@
version: '0'
requirements: []
rubyforge_project:
-rubygems_version: 2.2.2
+rubygems_version: 2.4.4
signing_key:
specification_version: 4
summary: ActiveRecord backend for DelayedJob
-test_files:
-- spec/database.yml
-- spec/delayed/backend/active_record_spec.rb
-- spec/delayed/serialization/active_record_spec.rb
-- spec/helper.rb
+test_files: []
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/spec/database.yml new/spec/database.yml
--- old/spec/database.yml 2014-04-12 22:21:15.000000000 +0200
+++ new/spec/database.yml 1970-01-01 01:00:00.000000000 +0100
@@ -1,14 +0,0 @@
-mysql:
- adapter: mysql
- database: delayed_job_test
- username: root
- encoding: utf8
-
-postgresql:
- adapter: postgresql
- database: delayed_job_test
- username: postgres
-
-sqlite3:
- adapter: sqlite3
- database: ":memory:"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/spec/delayed/backend/active_record_spec.rb
new/spec/delayed/backend/active_record_spec.rb
--- old/spec/delayed/backend/active_record_spec.rb 2014-04-12
22:21:15.000000000 +0200
+++ new/spec/delayed/backend/active_record_spec.rb 1970-01-01
01:00:00.000000000 +0100
@@ -1,81 +0,0 @@
-require 'helper'
-require 'delayed/backend/active_record'
-
-describe Delayed::Backend::ActiveRecord::Job do
- it_behaves_like 'a delayed_job backend'
-
- context "db_time_now" do
- after do
- Time.zone = nil
- ActiveRecord::Base.default_timezone = :local
- end
-
- it "returns time in current time zone if set" do
- Time.zone = 'Eastern Time (US & Canada)'
- expect(%(EST EDT)).to include(Delayed::Job.db_time_now.zone)
- end
-
- it "returns UTC time if that is the AR default" do
- Time.zone = nil
- ActiveRecord::Base.default_timezone = :utc
- expect(Delayed::Backend::ActiveRecord::Job.db_time_now.zone).to eq 'UTC'
- end
-
- it "returns local time if that is the AR default" do
- Time.zone = 'Central Time (US & Canada)'
- ActiveRecord::Base.default_timezone = :local
- expect(%w(CST CDT)).to
include(Delayed::Backend::ActiveRecord::Job.db_time_now.zone)
- end
- end
-
- describe "after_fork" do
- it "calls reconnect on the connection" do
- ActiveRecord::Base.should_receive(:establish_connection)
- Delayed::Backend::ActiveRecord::Job.after_fork
- end
- end
-
- describe "enqueue" do
- it "allows enqueue hook to modify job at DB level" do
- later = described_class.db_time_now + 20.minutes
- job = Delayed::Backend::ActiveRecord::Job.enqueue :payload_object =>
EnqueueJobMod.new
- expect(Delayed::Backend::ActiveRecord::Job.find(job.id).run_at).to
be_within(1).of(later)
- end
- end
-
- if ::ActiveRecord::VERSION::MAJOR < 4 ||
defined?(::ActiveRecord::MassAssignmentSecurity)
- context "ActiveRecord::Base.send(:attr_accessible, nil)" do
- before do
- Delayed::Backend::ActiveRecord::Job.send(:attr_accessible, nil)
- end
-
- after do
- Delayed::Backend::ActiveRecord::Job.send(:attr_accessible,
*Delayed::Backend::ActiveRecord::Job.new.attributes.keys)
- end
-
- it "is still accessible" do
- job = Delayed::Backend::ActiveRecord::Job.enqueue :payload_object =>
EnqueueJobMod.new
-
expect(Delayed::Backend::ActiveRecord::Job.find(job.id).handler).to_not be_blank
- end
- end
- end
-
- context "ActiveRecord::Base.table_name_prefix" do
- it "when prefix is not set, use 'delayed_jobs' as table name" do
- ::ActiveRecord::Base.table_name_prefix = nil
- Delayed::Backend::ActiveRecord::Job.set_delayed_job_table_name
-
- expect(Delayed::Backend::ActiveRecord::Job.table_name).to eq
'delayed_jobs'
- end
-
- it "when prefix is set, prepend it before default table name" do
- ::ActiveRecord::Base.table_name_prefix = 'custom_'
- Delayed::Backend::ActiveRecord::Job.set_delayed_job_table_name
-
- expect(Delayed::Backend::ActiveRecord::Job.table_name).to eq
'custom_delayed_jobs'
-
- ::ActiveRecord::Base.table_name_prefix = nil
- Delayed::Backend::ActiveRecord::Job.set_delayed_job_table_name
- end
- end
-end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/spec/delayed/serialization/active_record_spec.rb
new/spec/delayed/serialization/active_record_spec.rb
--- old/spec/delayed/serialization/active_record_spec.rb 2014-04-12
22:21:15.000000000 +0200
+++ new/spec/delayed/serialization/active_record_spec.rb 1970-01-01
01:00:00.000000000 +0100
@@ -1,15 +0,0 @@
-require 'helper'
-
-describe ActiveRecord do
- it "loads classes with non-default primary key" do
- expect {
- YAML.load(Story.create.to_yaml)
- }.not_to raise_error
- end
-
- it "loads classes even if not in default scope" do
- expect {
- YAML.load(Story.create(:scoped => false).to_yaml)
- }.not_to raise_error
- end
-end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/spec/helper.rb new/spec/helper.rb
--- old/spec/helper.rb 2014-04-12 22:21:15.000000000 +0200
+++ new/spec/helper.rb 1970-01-01 01:00:00.000000000 +0100
@@ -1,69 +0,0 @@
-require 'simplecov'
-require 'coveralls'
-
-SimpleCov.formatter = SimpleCov::Formatter::MultiFormatter[
- SimpleCov::Formatter::HTMLFormatter,
- Coveralls::SimpleCov::Formatter
-]
-SimpleCov.start
-
-require 'logger'
-require 'rspec'
-
-begin
- require 'protected_attributes'
-rescue LoadError
-end
-require 'delayed_job_active_record'
-require 'delayed/backend/shared_spec'
-
-Delayed::Worker.logger = Logger.new('/tmp/dj.log')
-ENV['RAILS_ENV'] = 'test'
-
-db_adapter, gemfile = ENV["ADAPTER"], ENV["BUNDLE_GEMFILE"]
-db_adapter ||= gemfile && gemfile[%r(gemfiles/(.*?)/)] && $1
-db_adapter ||= 'sqlite3'
-
-config = YAML.load(File.read('spec/database.yml'))
-ActiveRecord::Base.establish_connection config[db_adapter]
-ActiveRecord::Base.logger = Delayed::Worker.logger
-ActiveRecord::Migration.verbose = false
-
-ActiveRecord::Schema.define do
- create_table :delayed_jobs, :force => true do |table|
- table.integer :priority, :default => 0
- table.integer :attempts, :default => 0
- table.text :handler
- table.text :last_error
- table.datetime :run_at
- table.datetime :locked_at
- table.datetime :failed_at
- table.string :locked_by
- table.string :queue
- table.timestamps
- end
-
- add_index :delayed_jobs, [:priority, :run_at], :name =>
'delayed_jobs_priority'
-
- create_table :stories, :primary_key => :story_id, :force => true do |table|
- table.string :text
- table.boolean :scoped, :default => true
- end
-end
-
-# Purely useful for test cases...
-class Story < ActiveRecord::Base
- if ::ActiveRecord::VERSION::MAJOR < 4 && ActiveRecord::VERSION::MINOR < 2
- set_primary_key :story_id
- else
- self.primary_key = :story_id
- end
- def tell; text; end
- def whatever(n, _); tell*n; end
- default_scope { where(:scoped => true) }
-
- handle_asynchronously :whatever
-end
-
-# Add this directory so the ActiveSupport autoloading works
-ActiveSupport::Dependencies.autoload_paths << File.dirname(__FILE__)
--
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]