delayed_job_unique_key 0.0.1

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.
Files changed (43) hide show
  1. data/MIT-LICENSE +20 -0
  2. data/README.textile +246 -0
  3. data/contrib/delayed_job.monitrc +14 -0
  4. data/contrib/delayed_job_multiple.monitrc +23 -0
  5. data/lib/delayed/backend/base.rb +152 -0
  6. data/lib/delayed/backend/shared_spec.rb +566 -0
  7. data/lib/delayed/command.rb +101 -0
  8. data/lib/delayed/deserialization_error.rb +4 -0
  9. data/lib/delayed/lifecycle.rb +84 -0
  10. data/lib/delayed/message_sending.rb +54 -0
  11. data/lib/delayed/performable_mailer.rb +21 -0
  12. data/lib/delayed/performable_method.rb +33 -0
  13. data/lib/delayed/plugin.rb +15 -0
  14. data/lib/delayed/plugins/clear_locks.rb +15 -0
  15. data/lib/delayed/psych_ext.rb +75 -0
  16. data/lib/delayed/railtie.rb +16 -0
  17. data/lib/delayed/recipes.rb +50 -0
  18. data/lib/delayed/serialization/active_record.rb +19 -0
  19. data/lib/delayed/syck_ext.rb +34 -0
  20. data/lib/delayed/tasks.rb +11 -0
  21. data/lib/delayed/worker.rb +222 -0
  22. data/lib/delayed/yaml_ext.rb +10 -0
  23. data/lib/delayed_job.rb +22 -0
  24. data/lib/generators/delayed_job/delayed_job_generator.rb +11 -0
  25. data/lib/generators/delayed_job/templates/script +5 -0
  26. data/recipes/delayed_job.rb +1 -0
  27. data/spec/autoloaded/clazz.rb +7 -0
  28. data/spec/autoloaded/instance_clazz.rb +6 -0
  29. data/spec/autoloaded/instance_struct.rb +6 -0
  30. data/spec/autoloaded/struct.rb +7 -0
  31. data/spec/delayed/backend/test.rb +113 -0
  32. data/spec/delayed/serialization/test.rb +0 -0
  33. data/spec/fixtures/bad_alias.yml +1 -0
  34. data/spec/lifecycle_spec.rb +107 -0
  35. data/spec/message_sending_spec.rb +116 -0
  36. data/spec/performable_mailer_spec.rb +46 -0
  37. data/spec/performable_method_spec.rb +89 -0
  38. data/spec/sample_jobs.rb +75 -0
  39. data/spec/spec_helper.rb +45 -0
  40. data/spec/test_backend_spec.rb +13 -0
  41. data/spec/worker_spec.rb +19 -0
  42. data/spec/yaml_ext_spec.rb +41 -0
  43. metadata +197 -0
@@ -0,0 +1,41 @@
1
+ require 'spec_helper'
2
+
3
+ describe "YAML" do
4
+ it "should autoload classes" do
5
+ lambda {
6
+ yaml = "--- !ruby/class:Autoloaded::Clazz {}\n"
7
+ YAML.load(yaml).should == Autoloaded::Clazz
8
+ }.should_not raise_error
9
+ end
10
+
11
+ it "should autoload the class of a struct" do
12
+ lambda {
13
+ yaml = "--- !ruby/class:Autoloaded::Struct {}\n"
14
+ YAML.load(yaml).should == Autoloaded::Struct
15
+ }.should_not raise_error
16
+ end
17
+
18
+ it "should autoload the class for the instance of a struct" do
19
+ lambda {
20
+ yaml = "--- !ruby/struct:Autoloaded::InstanceStruct {}"
21
+ YAML.load(yaml).class.should == Autoloaded::InstanceStruct
22
+ }.should_not raise_error
23
+ end
24
+
25
+ it "should autoload the class for the instance" do
26
+ lambda {
27
+ yaml = "--- !ruby/object:Autoloaded::InstanceClazz {}\n"
28
+ YAML.load(yaml).class.should == Autoloaded::InstanceClazz
29
+ }.should_not raise_error
30
+ end
31
+
32
+ it "should not throw an uninitialized constant Syck::Syck when using YAML.load_file with poorly formed yaml" do
33
+ lambda {
34
+ YAML.load_file(File.expand_path('spec/fixtures/bad_alias.yml'))
35
+ }.should_not raise_error
36
+ end
37
+
38
+ it "should not throw an uninitialized constant Syck::Syck when using YAML.load with poorly formed yaml" do
39
+ lambda { YAML.load(YAML.dump("foo: *bar"))}.should_not raise_error
40
+ end
41
+ end
metadata ADDED
@@ -0,0 +1,197 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: delayed_job_unique_key
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - Matt Griffin
9
+ - Brian Ryckbost
10
+ - Steve Richert
11
+ - Chris Gaffney
12
+ - Brandon Keepers
13
+ - Tobias Lütke
14
+ - Oleg Muntyan
15
+ autorequire:
16
+ bindir: bin
17
+ cert_chain: []
18
+ date: 2011-11-22 00:00:00.000000000 Z
19
+ dependencies:
20
+ - !ruby/object:Gem::Dependency
21
+ name: daemons
22
+ requirement: &81762540 !ruby/object:Gem::Requirement
23
+ none: false
24
+ requirements:
25
+ - - =
26
+ - !ruby/object:Gem::Version
27
+ version: 1.0.10
28
+ type: :runtime
29
+ prerelease: false
30
+ version_requirements: *81762540
31
+ - !ruby/object:Gem::Dependency
32
+ name: activesupport
33
+ requirement: &81762300 !ruby/object:Gem::Requirement
34
+ none: false
35
+ requirements:
36
+ - - ~>
37
+ - !ruby/object:Gem::Version
38
+ version: '3.0'
39
+ type: :runtime
40
+ prerelease: false
41
+ version_requirements: *81762300
42
+ - !ruby/object:Gem::Dependency
43
+ name: activerecord
44
+ requirement: &81762070 !ruby/object:Gem::Requirement
45
+ none: false
46
+ requirements:
47
+ - - ~>
48
+ - !ruby/object:Gem::Version
49
+ version: '3.0'
50
+ type: :development
51
+ prerelease: false
52
+ version_requirements: *81762070
53
+ - !ruby/object:Gem::Dependency
54
+ name: sqlite3
55
+ requirement: &81761880 !ruby/object:Gem::Requirement
56
+ none: false
57
+ requirements:
58
+ - - ! '>='
59
+ - !ruby/object:Gem::Version
60
+ version: '0'
61
+ type: :development
62
+ prerelease: false
63
+ version_requirements: *81761880
64
+ - !ruby/object:Gem::Dependency
65
+ name: rails
66
+ requirement: &81761610 !ruby/object:Gem::Requirement
67
+ none: false
68
+ requirements:
69
+ - - ~>
70
+ - !ruby/object:Gem::Version
71
+ version: '3.0'
72
+ type: :development
73
+ prerelease: false
74
+ version_requirements: *81761610
75
+ - !ruby/object:Gem::Dependency
76
+ name: rspec
77
+ requirement: &81761360 !ruby/object:Gem::Requirement
78
+ none: false
79
+ requirements:
80
+ - - ~>
81
+ - !ruby/object:Gem::Version
82
+ version: '2.0'
83
+ type: :development
84
+ prerelease: false
85
+ version_requirements: *81761360
86
+ - !ruby/object:Gem::Dependency
87
+ name: rake
88
+ requirement: &81761170 !ruby/object:Gem::Requirement
89
+ none: false
90
+ requirements:
91
+ - - ! '>='
92
+ - !ruby/object:Gem::Version
93
+ version: '0'
94
+ type: :development
95
+ prerelease: false
96
+ version_requirements: *81761170
97
+ description: ! 'This fork allows to prevent creating new job if already exists not
98
+ running one with unique key
99
+
100
+
101
+ This gem is collectiveidea''s fork (http://github.com/collectiveidea/delayed_job).'
102
+ email:
103
+ - chris@collectiveidea.com
104
+ - brandon@opensoul.org
105
+ - omuntyan@gmail.com
106
+ executables: []
107
+ extensions: []
108
+ extra_rdoc_files:
109
+ - README.textile
110
+ files:
111
+ - contrib/delayed_job.monitrc
112
+ - contrib/delayed_job_multiple.monitrc
113
+ - lib/delayed_job.rb
114
+ - lib/delayed/recipes.rb
115
+ - lib/delayed/plugin.rb
116
+ - lib/delayed/syck_ext.rb
117
+ - lib/delayed/serialization/active_record.rb
118
+ - lib/delayed/message_sending.rb
119
+ - lib/delayed/performable_mailer.rb
120
+ - lib/delayed/railtie.rb
121
+ - lib/delayed/command.rb
122
+ - lib/delayed/psych_ext.rb
123
+ - lib/delayed/tasks.rb
124
+ - lib/delayed/yaml_ext.rb
125
+ - lib/delayed/performable_method.rb
126
+ - lib/delayed/deserialization_error.rb
127
+ - lib/delayed/worker.rb
128
+ - lib/delayed/lifecycle.rb
129
+ - lib/delayed/backend/shared_spec.rb
130
+ - lib/delayed/backend/base.rb
131
+ - lib/delayed/plugins/clear_locks.rb
132
+ - lib/generators/delayed_job/templates/script
133
+ - lib/generators/delayed_job/delayed_job_generator.rb
134
+ - recipes/delayed_job.rb
135
+ - spec/yaml_ext_spec.rb
136
+ - spec/autoloaded/struct.rb
137
+ - spec/autoloaded/instance_clazz.rb
138
+ - spec/autoloaded/clazz.rb
139
+ - spec/autoloaded/instance_struct.rb
140
+ - spec/fixtures/bad_alias.yml
141
+ - spec/delayed/serialization/test.rb
142
+ - spec/delayed/backend/test.rb
143
+ - spec/worker_spec.rb
144
+ - spec/spec_helper.rb
145
+ - spec/sample_jobs.rb
146
+ - spec/lifecycle_spec.rb
147
+ - spec/performable_method_spec.rb
148
+ - spec/test_backend_spec.rb
149
+ - spec/performable_mailer_spec.rb
150
+ - spec/message_sending_spec.rb
151
+ - MIT-LICENSE
152
+ - README.textile
153
+ homepage: http://github.com/collectiveidea/delayed_job
154
+ licenses: []
155
+ post_install_message:
156
+ rdoc_options:
157
+ - --main
158
+ - README.textile
159
+ - --inline-source
160
+ - --line-numbers
161
+ require_paths:
162
+ - lib
163
+ required_ruby_version: !ruby/object:Gem::Requirement
164
+ none: false
165
+ requirements:
166
+ - - ! '>='
167
+ - !ruby/object:Gem::Version
168
+ version: '0'
169
+ required_rubygems_version: !ruby/object:Gem::Requirement
170
+ none: false
171
+ requirements:
172
+ - - ! '>='
173
+ - !ruby/object:Gem::Version
174
+ version: '0'
175
+ requirements: []
176
+ rubyforge_project:
177
+ rubygems_version: 1.8.10
178
+ signing_key:
179
+ specification_version: 3
180
+ summary: Database-backed asynchronous priority queue system -- Extracted from Shopify
181
+ test_files:
182
+ - spec/yaml_ext_spec.rb
183
+ - spec/autoloaded/struct.rb
184
+ - spec/autoloaded/instance_clazz.rb
185
+ - spec/autoloaded/clazz.rb
186
+ - spec/autoloaded/instance_struct.rb
187
+ - spec/fixtures/bad_alias.yml
188
+ - spec/delayed/serialization/test.rb
189
+ - spec/delayed/backend/test.rb
190
+ - spec/worker_spec.rb
191
+ - spec/spec_helper.rb
192
+ - spec/sample_jobs.rb
193
+ - spec/lifecycle_spec.rb
194
+ - spec/performable_method_spec.rb
195
+ - spec/test_backend_spec.rb
196
+ - spec/performable_mailer_spec.rb
197
+ - spec/message_sending_spec.rb