delayed_job_mongoid 2.2.0 → 2.3.0

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 4e1ed70a5ed5d07ef9104c2cb19cf41fc68a0694
4
- data.tar.gz: 3793796caa8f4eddfd982441c9a5ddfd71fb2b18
3
+ metadata.gz: 1fe065836eaec3db84fa083b20a3ab41fdff6729
4
+ data.tar.gz: 2498d16f780f951e322a4af828718eb287db44af
5
5
  SHA512:
6
- metadata.gz: c96d5a0fca52cf64119effbade77ea6c03df555074ed5d677dd58224ff842ed253dc95d819af51d3f7222ecc0cea221ac43e70776ebb4341a52ef13ebc7909e4
7
- data.tar.gz: 90ec0f2f1f953ddcc7e56632b7ed36843b921ad1853873daf198c3742a861aef1a642e73b9ca94808849f00e2e282393c6cdf1876fccd67718033dcad24cb3c6
6
+ metadata.gz: 4a5e39815bbf5cbd4380308e37f45591debbbb25fdf6c98ce9e2cdd2d150de17619218f1b886d88956cf71d5521529e44a37df06141e9345ff720dc27a03f383
7
+ data.tar.gz: 233d203872d4380c2cf79f79b26b0135c73d745b6e9bf146ba726196c9ab3ad119278b877c51e6c5b13091c6b69084f2243e1f21a07ed14991a5d6b450f334e2
@@ -1,27 +1,28 @@
1
- Next
2
- ====
3
- * Your contribution here.
4
-
5
- 2.2.0 - 2015-09-24
6
- ==================
7
- * Support Mongoid 5.0
8
-
9
- 2.1.0 - 2014-05-09
10
- ==================
11
- * [#38](https://github.com/collectiveidea/delayed_job_mongoid/pull/38): Fix clearing identity map before each job - [@srleo](https://github.com/srleo)
12
- * [#43](https://github.com/collectiveidea/delayed_job_mongoid/pull/43): Compatibility with Mongoid 4.x and Delayed Job 4.x - [@dblock](https://github.com/dblock)
13
-
14
- 2.0.0 - 2012-08-02
15
- ==================
16
- * Added code coverage with SimpleCov - [@sferik](https://github.com/sferik)
17
- * Added Mongoid 3.0 support - [@sferik](https://github.com/sferik), [@asavartsov](https://github.com/asavartsov)
18
-
19
- 1.0.2 - 2010-01-12
20
- ==================
1
+ ### 2.3.0 (2017/02/13)
2
+
3
+ * [#72](https://github.com/collectiveidea/delayed_job_mongoid/pull/72): Fix: Unknown alias: 1 (Psych::BadAlias) when referencing an object twice from the object being serialized - [@dblock](https://github.com/dblock), [@maxjacobson](https://github.com/maxjacobson).
4
+ * [#71](https://github.com/collectiveidea/delayed_job_mongoid/pull/71): Support Mongoid 6.0 - [@dblock](https://github.com/dblock).
5
+
6
+ ### 2.2.0 (2015/09/24)
7
+
8
+ * [#58](https://github.com/collectiveidea/delayed_job_mongoid/pull/58): Support Mongoid 5.0 - [@sferik](https://github.com/sferik).
9
+
10
+ ### 2.1.0 (2014/05/09)
11
+
12
+ * [#38](https://github.com/collectiveidea/delayed_job_mongoid/pull/38): Fix clearing identity map before each job - [@srleo](https://github.com/srleo).
13
+ * [#43](https://github.com/collectiveidea/delayed_job_mongoid/pull/43): Compatibility with Mongoid 4.x and Delayed Job 4.x - [@dblock](https://github.com/dblock).
14
+
15
+ ### 2.0.0 (2012/08/02)
16
+
17
+ * Added code coverage with SimpleCov - [@sferik](https://github.com/sferik).
18
+ * Added Mongoid 3.0 support - [@sferik](https://github.com/sferik), [@asavartsov](https://github.com/asavartsov).
19
+
20
+ ### 1.0.2 (2010/01/12)
21
+
21
22
  * Fix a potential memory leak inside mongo when reserving jobs on mongo 1.6+
22
23
  * Fixed gemspec to work with Mongoid 2.0 RC and Rubygems 1.4
23
24
 
24
- 1.0.1 - 2010-12-01
25
- ==================
26
- * Use MongoDB's findAndModify to reserve the next available job in one atomic operation
25
+ ### 1.0.1 (2010/12/01)
26
+
27
+ * Use MongoDB's findAndModify to reserve the next available job in one atomic operation - [@beljun](https://github.com/beljun).
27
28
  * Better index
data/LICENSE.md CHANGED
@@ -1,4 +1,4 @@
1
- Copyright © 2010 Collective Idea
1
+ Copyright © 2010-2015 Collective Idea & Contributors
2
2
 
3
3
  Permission is hereby granted, free of charge, to any person obtaining
4
4
  a copy of this software and associated documentation files (the
data/README.md CHANGED
@@ -1,10 +1,10 @@
1
1
  # DelayedJob Mongoid backend
2
2
 
3
- [![Gem Version](http://img.shields.io/gem/v/delayed_job_mongoid.svg)][gem]
4
- [![Build Status](http://img.shields.io/travis/collectiveidea/delayed_job_mongoid.svg)][travis]
5
- [![Dependency Status](http://img.shields.io/gemnasium/collectiveidea/delayed_job_mongoid.svg)][gemnasium]
6
- [![Code Climate](http://img.shields.io/codeclimate/github/collectiveidea/delayed_job_mongoid.svg)][codeclimate]
7
- [![Coverage Status](http://img.shields.io/coveralls/collectiveidea/delayed_job_mongoid.svg)][coveralls]
3
+ [![Gem Version](https://badge.fury.io/rb/delayed_job_mongoid.svg)](http://badge.fury.io/rb/delayed_job_mongoid)
4
+ [![Build Status](https://travis-ci.org/collectiveidea/delayed_job_mongoid.svg?branch=master)](https://travis-ci.org/collectiveidea/delayed_job_mongoid)
5
+ [![Dependency Status](https://gemnasium.com/collectiveidea/delayed_job_mongoid.svg)](https://gemnasium.com/collectiveidea/delayed_job_mongoid)
6
+ [![Code Climate](https://codeclimate.com/github/collectiveidea/delayed_job_mongoid.svg)](https://codeclimate.com/github/collectiveidea/delayed_job_mongoid)
7
+ [![Coverage Status](https://coveralls.io/repos/collectiveidea/delayed_job_mongoid/badge.svg?branch=master&service=github)](https://coveralls.io/github/collectiveidea/delayed_job_mongoid?branch=master)
8
8
 
9
9
  [gem]: https://rubygems.org/gems/delayed_job_mongoid
10
10
  [travis]: http://travis-ci.org/collectiveidea/delayed_job_mongoid
@@ -2,15 +2,15 @@
2
2
 
3
3
  Gem::Specification.new do |spec|
4
4
  spec.add_dependency 'delayed_job', ['>= 3.0', '< 5']
5
- spec.add_dependency 'mongoid', ['>= 3.0', '< 6']
6
- spec.add_dependency 'mongoid-compatibility'
5
+ spec.add_dependency 'mongoid', ['>= 3.0', '< 7']
6
+ spec.add_dependency 'mongoid-compatibility', '>= 0.4.0'
7
7
  spec.authors = ['Chris Gaffney', 'Brandon Keepers', 'Erik Michaels-Ober']
8
8
  spec.email = ['chris@collectiveidea.com', 'brandon@opensoul.com', 'sferik@gmail.com']
9
- spec.files = %w[CHANGELOG.md CONTRIBUTING.md LICENSE.md README.md delayed_job_mongoid.gemspec] + Dir['lib/**/*.rb']
9
+ spec.files = %w(CHANGELOG.md CONTRIBUTING.md LICENSE.md README.md delayed_job_mongoid.gemspec) + Dir['lib/**/*.rb']
10
10
  spec.homepage = 'http://github.com/collectiveidea/delayed_job_mongoid'
11
11
  spec.licenses = ['MIT']
12
12
  spec.name = 'delayed_job_mongoid'
13
13
  spec.require_paths = ['lib']
14
14
  spec.summary = 'Mongoid backend for delayed_job'
15
- spec.version = '2.2.0'
15
+ spec.version = '2.3.0'
16
16
  end
@@ -11,17 +11,17 @@ module Delayed
11
11
  include ::Mongoid::Timestamps
12
12
  include Delayed::Backend::Base
13
13
 
14
- field :priority, :type => Integer, :default => 0
15
- field :attempts, :type => Integer, :default => 0
16
- field :handler, :type => String
17
- field :run_at, :type => Time
18
- field :locked_at, :type => Time
19
- field :locked_by, :type => String
20
- field :failed_at, :type => Time
21
- field :last_error, :type => String
22
- field :queue, :type => String
14
+ field :priority, type: Integer, default: 0
15
+ field :attempts, type: Integer, default: 0
16
+ field :handler, type: String
17
+ field :run_at, type: Time
18
+ field :locked_at, type: Time
19
+ field :locked_by, type: String
20
+ field :failed_at, type: Time
21
+ field :last_error, type: String
22
+ field :queue, type: String
23
23
 
24
- index :locked_by => -1, :priority => 1, :run_at => 1
24
+ index locked_by: -1, priority: 1, run_at: 1
25
25
 
26
26
  before_save :set_default_run_at
27
27
 
@@ -37,15 +37,15 @@ module Delayed
37
37
 
38
38
  criteria = reservation_criteria worker, right_now, max_run_time
39
39
 
40
- if ::Mongoid::Compatibility::Version.mongoid5?
40
+ if ::Mongoid::Compatibility::Version.mongoid5? || ::Mongoid::Compatibility::Version.mongoid6?
41
41
  criteria.find_one_and_update(
42
- {'$set' => {:locked_at => right_now, :locked_by => worker.name}},
43
- :return_document => :after
42
+ { '$set' => { locked_at: right_now, locked_by: worker.name } },
43
+ return_document: :after
44
44
  )
45
45
  else
46
46
  criteria.find_and_modify(
47
- {'$set' => {:locked_at => right_now, :locked_by => worker.name}},
48
- :new => true
47
+ { '$set' => { locked_at: right_now, locked_by: worker.name } },
48
+ new: true
49
49
  )
50
50
  end
51
51
  end
@@ -57,17 +57,17 @@ module Delayed
57
57
  # @api private
58
58
  def self.reservation_criteria(worker, right_now, max_run_time)
59
59
  criteria = where(
60
- :run_at => {'$lte' => right_now},
61
- :failed_at => nil
60
+ run_at: { '$lte' => right_now },
61
+ failed_at: nil
62
62
  ).any_of(
63
- {:locked_by => worker.name},
64
- {:locked_at => nil},
65
- :locked_at => {'$lt' => (right_now - max_run_time)}
63
+ { locked_by: worker.name },
64
+ { locked_at: nil },
65
+ locked_at: { '$lt' => (right_now - max_run_time) }
66
66
  )
67
67
 
68
- criteria = criteria.gte(:priority => Worker.min_priority.to_i) if Worker.min_priority
69
- criteria = criteria.lte(:priority => Worker.max_priority.to_i) if Worker.max_priority
70
- criteria = criteria.any_in(:queue => Worker.queues) if Worker.queues.any?
68
+ criteria = criteria.gte(priority: Worker.min_priority.to_i) if Worker.min_priority
69
+ criteria = criteria.lte(priority: Worker.max_priority.to_i) if Worker.max_priority
70
+ criteria = criteria.any_in(queue: Worker.queues) if Worker.queues.any?
71
71
  criteria = criteria.desc(:locked_by).asc(:priority).asc(:run_at)
72
72
 
73
73
  criteria
@@ -75,7 +75,7 @@ module Delayed
75
75
 
76
76
  # When a worker is exiting, make sure we don't have any locked jobs.
77
77
  def self.clear_locks!(worker_name)
78
- where(:locked_by => worker_name).update_all(:locked_at => nil, :locked_by => nil)
78
+ where(locked_by: worker_name).update_all(locked_at: nil, locked_by: nil)
79
79
  end
80
80
 
81
81
  def reload(*args)
@@ -0,0 +1,14 @@
1
+ module Delayed
2
+ module PsychExt
3
+ class ToRuby < Psych::Visitors::ToRuby
4
+ # see https://github.com/collectiveidea/delayed_job_mongoid/pull/65
5
+ alias _visit_Psych_Nodes_Mapping visit_Psych_Nodes_Mapping
6
+
7
+ def visit_Psych_Nodes_Mapping(object) # rubocop:disable MethodName
8
+ document = _visit_Psych_Nodes_Mapping(object)
9
+ register(object, document) if document
10
+ document
11
+ end
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,3 @@
1
+ require 'yaml'
2
+
3
+ require File.expand_path('../psych_ext', __FILE__) unless YAML.parser.class.name =~ /syck|yecht/i
@@ -3,5 +3,6 @@ require 'delayed/backend/mongoid'
3
3
  require 'delayed/serialization/mongoid'
4
4
  require 'delayed_job'
5
5
  require 'delayed/plugins'
6
+ require 'delayed/yaml/yaml_ext'
6
7
 
7
8
  Delayed::Worker.backend = :mongoid
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: delayed_job_mongoid
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.2.0
4
+ version: 2.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Chris Gaffney
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2015-09-24 00:00:00.000000000 Z
13
+ date: 2017-02-13 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: delayed_job
@@ -41,7 +41,7 @@ dependencies:
41
41
  version: '3.0'
42
42
  - - "<"
43
43
  - !ruby/object:Gem::Version
44
- version: '6'
44
+ version: '7'
45
45
  type: :runtime
46
46
  prerelease: false
47
47
  version_requirements: !ruby/object:Gem::Requirement
@@ -51,21 +51,21 @@ dependencies:
51
51
  version: '3.0'
52
52
  - - "<"
53
53
  - !ruby/object:Gem::Version
54
- version: '6'
54
+ version: '7'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: mongoid-compatibility
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
59
  - - ">="
60
60
  - !ruby/object:Gem::Version
61
- version: '0'
61
+ version: 0.4.0
62
62
  type: :runtime
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - ">="
67
67
  - !ruby/object:Gem::Version
68
- version: '0'
68
+ version: 0.4.0
69
69
  description:
70
70
  email:
71
71
  - chris@collectiveidea.com
@@ -83,6 +83,8 @@ files:
83
83
  - lib/delayed/backend/mongoid.rb
84
84
  - lib/delayed/plugins.rb
85
85
  - lib/delayed/serialization/mongoid.rb
86
+ - lib/delayed/yaml/psych_ext.rb
87
+ - lib/delayed/yaml/yaml_ext.rb
86
88
  - lib/delayed_job_mongoid.rb
87
89
  homepage: http://github.com/collectiveidea/delayed_job_mongoid
88
90
  licenses:
@@ -104,9 +106,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
104
106
  version: '0'
105
107
  requirements: []
106
108
  rubyforge_project:
107
- rubygems_version: 2.4.8
109
+ rubygems_version: 2.5.1
108
110
  signing_key:
109
111
  specification_version: 4
110
112
  summary: Mongoid backend for delayed_job
111
113
  test_files: []
112
- has_rdoc: