simple_worker 0.6.2 → 0.6.3
Sign up to get free protection for your applications and to get access to all the features.
- data/README.markdown +19 -0
- data/lib/simple_worker/base.rb +13 -1
- data/lib/simple_worker/service.rb +15 -2
- data/lib/simple_worker.rb +3 -1
- metadata +4 -18
data/README.markdown
CHANGED
@@ -20,6 +20,20 @@ You really just need your access keys.
|
|
20
20
|
config.secret_key = SECRET_KEY
|
21
21
|
end
|
22
22
|
|
23
|
+
|
24
|
+
Configure SimpleWorker in Rails
|
25
|
+
----------------------
|
26
|
+
|
27
|
+
If you're using Rails you could set additional config option - "auto_merge=true".
|
28
|
+
It will automatically merge all models,mailers,gems and database configuration from your Rails app.
|
29
|
+
|
30
|
+
SimpleWorker.configure do |config|
|
31
|
+
config.access_key = ACCESS_KEY
|
32
|
+
config.secret_key = SECRET_KEY
|
33
|
+
config.auto_merge = true
|
34
|
+
end
|
35
|
+
|
36
|
+
|
23
37
|
Write a Worker
|
24
38
|
--------------
|
25
39
|
|
@@ -211,6 +225,11 @@ Or simpler yet, try using relative paths:
|
|
211
225
|
merge "../models/user"
|
212
226
|
merge "../models/account.rb"
|
213
227
|
|
228
|
+
Also you could use wildcards and path in merge_folder
|
229
|
+
|
230
|
+
merge_folder "./foldername/" #will merge all *.rb files from foldername
|
231
|
+
merge_folder "../lib/**/" # will merge all *.rb files from lib and all subdirectories
|
232
|
+
|
214
233
|
The opposite can be done as well with "unmerge" and can be useful when using Rails to exclude classes that are automatically
|
215
234
|
merged.
|
216
235
|
|
data/lib/simple_worker/base.rb
CHANGED
@@ -13,6 +13,7 @@ module SimpleWorker
|
|
13
13
|
@merged_workers = []
|
14
14
|
@merged_gems = []
|
15
15
|
@merged_mailers = []
|
16
|
+
@merged_folders = {}
|
16
17
|
@unmerged = []
|
17
18
|
|
18
19
|
def reset!
|
@@ -20,6 +21,7 @@ module SimpleWorker
|
|
20
21
|
@merged_workers = []
|
21
22
|
@merged_gems = []
|
22
23
|
@merged_mailers = []
|
24
|
+
@merged_folders = {}
|
23
25
|
@unmerged = []
|
24
26
|
end
|
25
27
|
|
@@ -86,6 +88,15 @@ module SimpleWorker
|
|
86
88
|
@merged_mailers << {:name=>basename, :path_to_templates=>path_to_templates, :filename => mailer}.merge!(params)
|
87
89
|
end
|
88
90
|
|
91
|
+
def merge_folder(path)
|
92
|
+
files = []
|
93
|
+
Dir["#{path}*.rb"].each do |f|
|
94
|
+
f = check_for_file(f)
|
95
|
+
files<<f
|
96
|
+
end
|
97
|
+
@merged_folders[path]=files unless files.empty?
|
98
|
+
SimpleWorker.logger.info "Merged folders! #{@merged_folders.inspect}"
|
99
|
+
end
|
89
100
|
# merges the specified files.
|
90
101
|
# todo: don't allow multiple files per merge, just one like require
|
91
102
|
def merge(*files)
|
@@ -326,6 +337,7 @@ module SimpleWorker
|
|
326
337
|
unmerged = self.class.instance_variable_get(:@unmerged)
|
327
338
|
merged_gems = self.class.instance_variable_get(:@merged_gems)
|
328
339
|
merged_mailers = self.class.instance_variable_get(:@merged_mailers)
|
340
|
+
merged_folders = self.class.instance_variable_get(:@merged_folders)
|
329
341
|
# puts 'merged1=' + merged.inspect
|
330
342
|
|
331
343
|
subclass = self.class
|
@@ -357,7 +369,7 @@ module SimpleWorker
|
|
357
369
|
end
|
358
370
|
merged.uniq!
|
359
371
|
merged_mailers.uniq!
|
360
|
-
SimpleWorker.service.upload(rfile, subclass.name, :merge=>merged, :unmerge=>unmerged, :merged_gems=>merged_gems, :merged_mailers=>merged_mailers)
|
372
|
+
SimpleWorker.service.upload(rfile, subclass.name, :merge=>merged, :unmerge=>unmerged, :merged_gems=>merged_gems, :merged_mailers=>merged_mailers,:merged_folders=>merged_folders)
|
361
373
|
self.class.instance_variable_set(:@uploaded, true)
|
362
374
|
else
|
363
375
|
SimpleWorker.logger.debug 'Already uploaded for ' + self.class.name
|
@@ -52,7 +52,7 @@ module SimpleWorker
|
|
52
52
|
end
|
53
53
|
|
54
54
|
|
55
|
-
zip_filename = build_merged_file(filename, options[:merge], options[:unmerge], options[:merged_gems], options[:merged_mailers])
|
55
|
+
zip_filename = build_merged_file(filename, options[:merge], options[:unmerge], options[:merged_gems], options[:merged_mailers], options[:merged_folders])
|
56
56
|
|
57
57
|
# sys.classes[subclass].__file__
|
58
58
|
# puts '__FILE__=' + Base.subclass.__file__.to_s
|
@@ -97,7 +97,7 @@ module SimpleWorker
|
|
97
97
|
end
|
98
98
|
end
|
99
99
|
|
100
|
-
def build_merged_file(filename, merge, unmerge, merged_gems, merged_mailers)
|
100
|
+
def build_merged_file(filename, merge, unmerge, merged_gems, merged_mailers,merged_folders)
|
101
101
|
# unless (merge && merge.size > 0) || (merged_gems && merged_gems.size > 0)
|
102
102
|
# return filename
|
103
103
|
# end
|
@@ -168,7 +168,20 @@ module SimpleWorker
|
|
168
168
|
raise "Gem #{gem[:name]} #{gem[:version]} was not found."
|
169
169
|
end
|
170
170
|
end
|
171
|
+
end
|
172
|
+
if merged_folders && merged_folders.size > 0
|
173
|
+
merged_folders.each do |folder, files|
|
174
|
+
SimpleWorker.logger.debug "Collecting folder #{folder}"
|
175
|
+
if files and files.size>0
|
176
|
+
files.each do |file|
|
177
|
+
zdest = "#{Digest::MD5.hexdigest(folder)}/#{file.sub(':','_').sub('/','_')}"
|
178
|
+
puts 'put file to=' + zdest
|
179
|
+
f.add(zdest, file)
|
180
|
+
end
|
181
|
+
end
|
182
|
+
end
|
171
183
|
end
|
184
|
+
|
172
185
|
merge.each do |m|
|
173
186
|
# puts "merging #{m} into #{filename}"
|
174
187
|
f.add(File.basename(m), m)
|
data/lib/simple_worker.rb
CHANGED
@@ -15,7 +15,9 @@ module SimpleWorker
|
|
15
15
|
|
16
16
|
def configure()
|
17
17
|
yield(config)
|
18
|
-
|
18
|
+
if config && config.access_key && config.secret_key
|
19
|
+
SimpleWorker.service ||= Service.new(config.access_key, config.secret_key, :config=>config)
|
20
|
+
end
|
19
21
|
end
|
20
22
|
|
21
23
|
def config
|
metadata
CHANGED
@@ -1,12 +1,8 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: simple_worker
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
prerelease:
|
5
|
-
|
6
|
-
- 0
|
7
|
-
- 6
|
8
|
-
- 2
|
9
|
-
version: 0.6.2
|
4
|
+
prerelease:
|
5
|
+
version: 0.6.3
|
10
6
|
platform: ruby
|
11
7
|
authors:
|
12
8
|
- Travis Reeder
|
@@ -14,8 +10,7 @@ autorequire:
|
|
14
10
|
bindir: bin
|
15
11
|
cert_chain: []
|
16
12
|
|
17
|
-
date: 2011-
|
18
|
-
default_executable:
|
13
|
+
date: 2011-06-07 00:00:00 Z
|
19
14
|
dependencies:
|
20
15
|
- !ruby/object:Gem::Dependency
|
21
16
|
name: zip
|
@@ -25,8 +20,6 @@ dependencies:
|
|
25
20
|
requirements:
|
26
21
|
- - ">="
|
27
22
|
- !ruby/object:Gem::Version
|
28
|
-
segments:
|
29
|
-
- 0
|
30
23
|
version: "0"
|
31
24
|
type: :runtime
|
32
25
|
version_requirements: *id001
|
@@ -38,8 +31,6 @@ dependencies:
|
|
38
31
|
requirements:
|
39
32
|
- - ">="
|
40
33
|
- !ruby/object:Gem::Version
|
41
|
-
segments:
|
42
|
-
- 0
|
43
34
|
version: "0"
|
44
35
|
type: :runtime
|
45
36
|
version_requirements: *id002
|
@@ -62,7 +53,6 @@ files:
|
|
62
53
|
- lib/simple_worker/used_in_worker.rb
|
63
54
|
- rails/init.rb
|
64
55
|
- README.markdown
|
65
|
-
has_rdoc: true
|
66
56
|
homepage: http://github.com/appoxy/simple_worker
|
67
57
|
licenses: []
|
68
58
|
|
@@ -76,21 +66,17 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
76
66
|
requirements:
|
77
67
|
- - ">="
|
78
68
|
- !ruby/object:Gem::Version
|
79
|
-
segments:
|
80
|
-
- 0
|
81
69
|
version: "0"
|
82
70
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
83
71
|
none: false
|
84
72
|
requirements:
|
85
73
|
- - ">="
|
86
74
|
- !ruby/object:Gem::Version
|
87
|
-
segments:
|
88
|
-
- 0
|
89
75
|
version: "0"
|
90
76
|
requirements: []
|
91
77
|
|
92
78
|
rubyforge_project:
|
93
|
-
rubygems_version: 1.
|
79
|
+
rubygems_version: 1.7.2
|
94
80
|
signing_key:
|
95
81
|
specification_version: 3
|
96
82
|
summary: The official SimpleWorker gem for http://www.simpleworker.com
|