iron_worker_ng 0.5.1 → 0.6.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.
- data/README.md +42 -8
- data/VERSION +1 -1
- data/lib/iron_worker_ng/code/base.rb +6 -2
- data/lib/iron_worker_ng/code/initializer.rb +10 -6
- data/lib/iron_worker_ng/code/ruby.rb +3 -14
- data/lib/iron_worker_ng/feature/base.rb +17 -0
- data/lib/iron_worker_ng/feature/binary/merge_exec.rb +5 -8
- data/lib/iron_worker_ng/feature/common/merge_dir.rb +5 -8
- data/lib/iron_worker_ng/feature/common/merge_file.rb +5 -8
- data/lib/iron_worker_ng/feature/java/merge_exec.rb +5 -8
- data/lib/iron_worker_ng/feature/java/merge_jar.rb +5 -8
- data/lib/iron_worker_ng/feature/node/merge_exec.rb +5 -8
- data/lib/iron_worker_ng/feature/ruby/merge_exec.rb +5 -8
- data/lib/iron_worker_ng/feature/ruby/merge_gem.rb +8 -12
- data/lib/iron_worker_ng/feature/ruby/merge_gemfile.rb +5 -3
- data/ng_tests_worker.rb +2 -3
- data/remote_test.rb +7 -1
- metadata +3 -3
data/README.md
CHANGED
@@ -27,10 +27,11 @@ gem install typhoeus
|
|
27
27
|
|
28
28
|
# Creating A Worker
|
29
29
|
|
30
|
-
Each IronWorkerNG Ruby worker is just Ruby code. It can be as simple or as complex as you want. For example,
|
30
|
+
Each IronWorkerNG Ruby worker is just Ruby code. It can be as simple or as complex as you want. For example,
|
31
|
+
the following is an acceptable worker:
|
31
32
|
|
32
33
|
```ruby
|
33
|
-
puts "
|
34
|
+
puts "Hello Worker!"
|
34
35
|
puts "My task_id is #{@iron_worker_task_id}"
|
35
36
|
puts "I got '#{params}' parameters"
|
36
37
|
```
|
@@ -39,15 +40,48 @@ All output to `STDOUT` will be logged and available for your review when your wo
|
|
39
40
|
|
40
41
|
# Creating The Code Package
|
41
42
|
|
42
|
-
|
43
|
+
Before you can run use IronWorker, be sure you've [created a free account with Iron.io](http://www.iron.io)
|
44
|
+
and [setup your Iron.io credentials on your system](http://dev.iron.io/articles/configuration/) (either in a json
|
45
|
+
file or using ENV variables). You only need to do that once for your machine. If you've done that, then you can continue.
|
46
|
+
|
47
|
+
Since our worker will be executed in the cloud, you'll need to bundle all the necessary gems,
|
48
|
+
supplementary data, and other dependencies with it. `.worker` files make it easy to define your worker.
|
43
49
|
|
44
50
|
```ruby
|
45
|
-
|
51
|
+
# define the runtime language, this can be ruby, java, node, php, go, etc.
|
52
|
+
runtime "ruby"
|
53
|
+
# exec is the file that will be executed:
|
54
|
+
exec "hello_worker.rb"
|
55
|
+
```
|
46
56
|
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
57
|
+
You can read more about `.worker` files here: http://dev.iron.io/worker/reference/worker-files/
|
58
|
+
|
59
|
+
## Uploading the Code Package
|
60
|
+
|
61
|
+
If your .worker file is called `hello.worker`, then run:
|
62
|
+
|
63
|
+
iron_worker upload hello
|
64
|
+
|
65
|
+
This will upload your worker with the name "hello" so you can reference it like that when queuing up tasks for it.
|
66
|
+
|
67
|
+
## Queue Up a Task for your Worker
|
68
|
+
|
69
|
+
You can quicky queue up a task for your worker from the command line using:
|
70
|
+
|
71
|
+
iron_worker queue hello
|
72
|
+
|
73
|
+
Use the `-p` parameter to pass in a payload:
|
74
|
+
|
75
|
+
iron_worker queue hello -p "{\"hi\": \"world\"}"
|
76
|
+
|
77
|
+
Most commonly you'll be queuing up tasks from code though, so you can do this:
|
78
|
+
|
79
|
+
```ruby
|
80
|
+
require "iron_worker_ng"
|
81
|
+
client = IronWorkerNG::Client.new
|
82
|
+
100.times do
|
83
|
+
client.tasks.create("hello", "foo"=>"bar")
|
84
|
+
end
|
51
85
|
```
|
52
86
|
|
53
87
|
## IronWorkerNG::Code::Ruby API
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.
|
1
|
+
0.6.0
|
@@ -9,6 +9,7 @@ module IronWorkerNG
|
|
9
9
|
module Code
|
10
10
|
class Base
|
11
11
|
attr_reader :features
|
12
|
+
attr_accessor :base_dir
|
12
13
|
|
13
14
|
@@registered_types = []
|
14
15
|
|
@@ -41,6 +42,7 @@ module IronWorkerNG
|
|
41
42
|
|
42
43
|
def initialize(*args, &block)
|
43
44
|
@features = []
|
45
|
+
@base_dir = './'
|
44
46
|
|
45
47
|
initialize_code(*args, &block)
|
46
48
|
end
|
@@ -107,11 +109,13 @@ module IronWorkerNG
|
|
107
109
|
# iron_worker_ng-#{IronWorkerNG.full_version}
|
108
110
|
|
109
111
|
root() {
|
110
|
-
while [ $# -gt
|
112
|
+
while [ $# -gt 1 ]; do
|
111
113
|
if [ "$1" = "-d" ]; then
|
112
|
-
printf "%s
|
114
|
+
printf "%s" "$2"
|
113
115
|
break
|
114
116
|
fi
|
117
|
+
|
118
|
+
shift
|
115
119
|
done
|
116
120
|
}
|
117
121
|
|
@@ -15,22 +15,26 @@ module IronWorkerNG
|
|
15
15
|
merge_exec(exec) unless exec.nil?
|
16
16
|
end
|
17
17
|
|
18
|
-
|
19
|
-
IronCore::Logger.info 'IronWorkerNG', "Processing workerfile #{wfile}"
|
20
|
-
eval(File.read(File.expand_path wfile))
|
21
|
-
end
|
18
|
+
wfiles = []
|
22
19
|
|
23
|
-
|
20
|
+
if args.length == 1 && args[0].class == Hash && (args[0][:workerfile] || args[0]['workerfile'])
|
21
|
+
wfiles << args[0][:workerfile] || args[0]['workerfile']
|
22
|
+
end
|
24
23
|
|
25
24
|
unless name.nil?
|
26
25
|
wfiles << name + '.worker'
|
27
26
|
wfiles << name + '.workerfile'
|
28
27
|
end
|
29
28
|
|
29
|
+
wfiles << 'Workerfile'
|
30
|
+
|
30
31
|
wfiles.each do |wfile|
|
31
32
|
if File.exists?(wfile)
|
32
|
-
IronCore::Logger.info 'IronWorkerNG', "Processing workerfile #{wfile}"
|
33
33
|
eval(File.read(wfile))
|
34
|
+
|
35
|
+
@base_dir = File.dirname(wfile) + '/'
|
36
|
+
|
37
|
+
break
|
34
38
|
end
|
35
39
|
end
|
36
40
|
|
@@ -12,23 +12,13 @@ module IronWorkerNG
|
|
12
12
|
def bundle(zip)
|
13
13
|
super(zip)
|
14
14
|
|
15
|
-
gempath_code_array = []
|
16
|
-
|
17
|
-
@features.each do |f|
|
18
|
-
if f.respond_to?(:code_for_gempath)
|
19
|
-
gempath_code_array << f.send(:code_for_gempath)
|
20
|
-
end
|
21
|
-
end
|
22
|
-
|
23
|
-
gempath_code = gempath_code_array.join("\n")
|
24
|
-
|
25
15
|
zip.get_output_stream('__runner__.rb') do |runner|
|
26
16
|
runner.write <<RUBY_RUNNER
|
27
17
|
# iron_worker_ng-#{IronWorkerNG.full_version}
|
28
18
|
|
29
19
|
module IronWorkerNG
|
30
|
-
|
31
|
-
|
20
|
+
#{File.read(File.dirname(__FILE__) + '/../../3rdparty/hashie/merge_initializer.rb')}
|
21
|
+
#{File.read(File.dirname(__FILE__) + '/../../3rdparty/hashie/indifferent_access.rb')}
|
32
22
|
end
|
33
23
|
|
34
24
|
class IronWorkerNGHash < Hash
|
@@ -46,9 +36,8 @@ task_id = nil
|
|
46
36
|
task_id = $*[i + 1] if $*[i] == '-id'
|
47
37
|
end
|
48
38
|
|
49
|
-
|
39
|
+
ENV['GEM_PATH'] = ([root + '__gems__'] + (ENV['GEM_PATH'] || '').split(':')).join(':')
|
50
40
|
|
51
|
-
#{gempath_code}
|
52
41
|
$:.unshift("\#{root}")
|
53
42
|
|
54
43
|
require 'json'
|
@@ -1,6 +1,23 @@
|
|
1
1
|
module IronWorkerNG
|
2
2
|
module Feature
|
3
3
|
class Base
|
4
|
+
def initialize(code)
|
5
|
+
@code = code
|
6
|
+
end
|
7
|
+
|
8
|
+
def zip_add(zip, dest, src, rebase = true)
|
9
|
+
if rebase && (not src.start_with?('/'))
|
10
|
+
src = @code.base_dir + src
|
11
|
+
end
|
12
|
+
|
13
|
+
unless File.exists?(src)
|
14
|
+
IronCore::Logger.error 'IronWorkerNG', "Can't find src with path='#{src}'"
|
15
|
+
raise IronCore::IronError.new("Can't find src with path='#{src}'")
|
16
|
+
end
|
17
|
+
|
18
|
+
zip.add(dest, src)
|
19
|
+
end
|
20
|
+
|
4
21
|
def hash_string
|
5
22
|
''
|
6
23
|
end
|
@@ -5,13 +5,10 @@ module IronWorkerNG
|
|
5
5
|
class Feature < IronWorkerNG::Feature::Base
|
6
6
|
attr_reader :path
|
7
7
|
|
8
|
-
def initialize(path)
|
9
|
-
|
10
|
-
IronCore::Logger.error 'IronWorkerNG', "Can't find binary exec with path='#{path}'"
|
11
|
-
raise IronCore::IronError.new("Can't find binary exec with path='#{path}'")
|
12
|
-
end
|
8
|
+
def initialize(code, path)
|
9
|
+
super(code)
|
13
10
|
|
14
|
-
@path =
|
11
|
+
@path = path
|
15
12
|
end
|
16
13
|
|
17
14
|
def hash_string
|
@@ -21,7 +18,7 @@ module IronWorkerNG
|
|
21
18
|
def bundle(zip)
|
22
19
|
IronCore::Logger.debug 'IronWorkerNG', "Bundling binary exec with path='#{@path}'"
|
23
20
|
|
24
|
-
zip
|
21
|
+
zip_add(zip, File.basename(@path), @path)
|
25
22
|
end
|
26
23
|
end
|
27
24
|
|
@@ -34,7 +31,7 @@ module IronWorkerNG
|
|
34
31
|
return
|
35
32
|
end
|
36
33
|
|
37
|
-
@exec = IronWorkerNG::Feature::Binary::MergeExec::Feature.new(path)
|
34
|
+
@exec = IronWorkerNG::Feature::Binary::MergeExec::Feature.new(self, path)
|
38
35
|
|
39
36
|
IronCore::Logger.info 'IronWorkerNG', "Merging binary exec with path='#{path}'"
|
40
37
|
|
@@ -8,13 +8,10 @@ module IronWorkerNG
|
|
8
8
|
attr_reader :path
|
9
9
|
attr_reader :dest
|
10
10
|
|
11
|
-
def initialize(path, dest)
|
12
|
-
|
13
|
-
IronCore::Logger.error 'IronWorkerNG', "Can't find directory with path='#{path}'"
|
14
|
-
raise IronCore::IronError.new("Can't find directory with path='#{path}'")
|
15
|
-
end
|
11
|
+
def initialize(code, path, dest)
|
12
|
+
super(code)
|
16
13
|
|
17
|
-
@path =
|
14
|
+
@path = path
|
18
15
|
@dest = dest
|
19
16
|
@dest = Pathname.new(dest).cleanpath.to_s + '/' unless @dest.empty?
|
20
17
|
end
|
@@ -33,7 +30,7 @@ module IronWorkerNG
|
|
33
30
|
IronCore::Logger.debug 'IronWorkerNG', "Bundling dir with path='#{@path}' and dest='#{@dest}'"
|
34
31
|
|
35
32
|
Dir.glob(@path + '/**/**') do |path|
|
36
|
-
zip
|
33
|
+
zip_add(zip, @dest + File.basename(@path) + path[@path.length .. -1], path)
|
37
34
|
end
|
38
35
|
end
|
39
36
|
end
|
@@ -42,7 +39,7 @@ module IronWorkerNG
|
|
42
39
|
def merge_dir(path, dest = '')
|
43
40
|
IronCore::Logger.info 'IronWorkerNG', "Merging dir with path='#{path}' and dest='#{dest}'"
|
44
41
|
|
45
|
-
@features << IronWorkerNG::Feature::Common::MergeDir::Feature.new(path, dest)
|
42
|
+
@features << IronWorkerNG::Feature::Common::MergeDir::Feature.new(self, path, dest)
|
46
43
|
end
|
47
44
|
|
48
45
|
alias :dir :merge_dir
|
@@ -8,13 +8,10 @@ module IronWorkerNG
|
|
8
8
|
attr_reader :path
|
9
9
|
attr_reader :dest
|
10
10
|
|
11
|
-
def initialize(path, dest)
|
12
|
-
|
13
|
-
IronCore::Logger.error 'IronWorkerNG', "Can't find file with path='#{path}'"
|
14
|
-
raise IronCore::IronError.new("Can't find file with path='#{path}'")
|
15
|
-
end
|
11
|
+
def initialize(code, path, dest)
|
12
|
+
super(code)
|
16
13
|
|
17
|
-
@path =
|
14
|
+
@path = path
|
18
15
|
@dest = dest
|
19
16
|
@dest = Pathname.new(dest).cleanpath.to_s + '/' unless @dest.empty?
|
20
17
|
end
|
@@ -26,7 +23,7 @@ module IronWorkerNG
|
|
26
23
|
def bundle(zip)
|
27
24
|
IronCore::Logger.debug 'IronWorkerNG', "Bundling file with path='#{@path}' and dest='#{@dest}'"
|
28
25
|
|
29
|
-
zip
|
26
|
+
zip_add(zip, @dest + File.basename(@path), @path)
|
30
27
|
end
|
31
28
|
end
|
32
29
|
|
@@ -34,7 +31,7 @@ module IronWorkerNG
|
|
34
31
|
def merge_file(path, dest = '')
|
35
32
|
IronCore::Logger.info 'IronWorkerNG', "Merging file with path='#{path}' and dest='#{dest}'"
|
36
33
|
|
37
|
-
@features << IronWorkerNG::Feature::Common::MergeFile::Feature.new(path, dest)
|
34
|
+
@features << IronWorkerNG::Feature::Common::MergeFile::Feature.new(self, path, dest)
|
38
35
|
end
|
39
36
|
|
40
37
|
alias :file :merge_file
|
@@ -6,13 +6,10 @@ module IronWorkerNG
|
|
6
6
|
attr_reader :path
|
7
7
|
attr_reader :klass
|
8
8
|
|
9
|
-
def initialize(path, klass)
|
10
|
-
|
11
|
-
IronCore::Logger.error 'IronWorkerNG', "Can't find java exec with path='#{path}'"
|
12
|
-
raise IronCore::IronError.new("Can't find java exec with path='#{path}'")
|
13
|
-
end
|
9
|
+
def initialize(code, path, klass)
|
10
|
+
super(code)
|
14
11
|
|
15
|
-
@path =
|
12
|
+
@path = path
|
16
13
|
@klass = klass
|
17
14
|
end
|
18
15
|
|
@@ -23,7 +20,7 @@ module IronWorkerNG
|
|
23
20
|
def bundle(zip)
|
24
21
|
IronCore::Logger.debug 'IronWorkerNG', "Bundling java exec with path='#{@path}' and class='#{@klass}'"
|
25
22
|
|
26
|
-
zip
|
23
|
+
zip_add(zip, File.basename(@path), @path)
|
27
24
|
end
|
28
25
|
|
29
26
|
def code_for_classpath
|
@@ -40,7 +37,7 @@ module IronWorkerNG
|
|
40
37
|
return
|
41
38
|
end
|
42
39
|
|
43
|
-
@exec = IronWorkerNG::Feature::Java::MergeExec::Feature.new(path, klass)
|
40
|
+
@exec = IronWorkerNG::Feature::Java::MergeExec::Feature.new(self, path, klass)
|
44
41
|
|
45
42
|
IronCore::Logger.info 'IronWorkerNG', "Merging java exec with path='#{path}' and class='#{klass}'"
|
46
43
|
|
@@ -5,13 +5,10 @@ module IronWorkerNG
|
|
5
5
|
class Feature < IronWorkerNG::Feature::Base
|
6
6
|
attr_reader :path
|
7
7
|
|
8
|
-
def initialize(path)
|
9
|
-
|
10
|
-
IronCore::Logger.error 'IronWorkerNG', "Can't find java jar with path='#{path}'"
|
11
|
-
raise IronCore::IronError.new("Can't find java jar with path='#{path}'")
|
12
|
-
end
|
8
|
+
def initialize(code, path)
|
9
|
+
super(code)
|
13
10
|
|
14
|
-
@path =
|
11
|
+
@path = path
|
15
12
|
end
|
16
13
|
|
17
14
|
def hash_string
|
@@ -21,7 +18,7 @@ module IronWorkerNG
|
|
21
18
|
def bundle(zip)
|
22
19
|
IronCore::Logger.debug 'IronWorkerNG', "Bundling java jar with path='#{@path}'"
|
23
20
|
|
24
|
-
zip
|
21
|
+
zip_add(zip, File.basename(@path), @path)
|
25
22
|
end
|
26
23
|
|
27
24
|
def code_for_classpath
|
@@ -33,7 +30,7 @@ module IronWorkerNG
|
|
33
30
|
def merge_jar(path)
|
34
31
|
IronCore::Logger.info 'IronWorkerNG', "Merging java jar with path='#{path}'"
|
35
32
|
|
36
|
-
@features << IronWorkerNG::Feature::Java::MergeJar::Feature.new(path)
|
33
|
+
@features << IronWorkerNG::Feature::Java::MergeJar::Feature.new(self, path)
|
37
34
|
end
|
38
35
|
|
39
36
|
alias :jar :merge_jar
|
@@ -5,13 +5,10 @@ module IronWorkerNG
|
|
5
5
|
class Feature < IronWorkerNG::Feature::Base
|
6
6
|
attr_reader :path
|
7
7
|
|
8
|
-
def initialize(path)
|
9
|
-
|
10
|
-
IronCore::Logger.error 'IronWorkerNG', "Can't find node exec with path='#{path}'"
|
11
|
-
raise IronCore::IronError.new("Can't find node exec with path='#{path}'")
|
12
|
-
end
|
8
|
+
def initialize(code, path)
|
9
|
+
super(code)
|
13
10
|
|
14
|
-
@path =
|
11
|
+
@path = path
|
15
12
|
end
|
16
13
|
|
17
14
|
def hash_string
|
@@ -21,7 +18,7 @@ module IronWorkerNG
|
|
21
18
|
def bundle(zip)
|
22
19
|
IronCore::Logger.debug 'IronWorkerNG', "Bundling node exec with path='#{@path}'"
|
23
20
|
|
24
|
-
zip
|
21
|
+
zip_add(zip, File.basename(@path), @path)
|
25
22
|
end
|
26
23
|
end
|
27
24
|
|
@@ -34,7 +31,7 @@ module IronWorkerNG
|
|
34
31
|
return
|
35
32
|
end
|
36
33
|
|
37
|
-
@exec = IronWorkerNG::Feature::Node::MergeExec::Feature.new(path)
|
34
|
+
@exec = IronWorkerNG::Feature::Node::MergeExec::Feature.new(self, path)
|
38
35
|
|
39
36
|
IronCore::Logger.info 'IronWorkerNG', "Merging node exec with path='#{path}'"
|
40
37
|
|
@@ -6,13 +6,10 @@ module IronWorkerNG
|
|
6
6
|
attr_reader :path
|
7
7
|
attr_reader :klass
|
8
8
|
|
9
|
-
def initialize(path, klass)
|
10
|
-
|
11
|
-
IronCore::Logger.error 'IronWorkerNG', "Can't find ruby exec with path='#{path}'"
|
12
|
-
raise IronCore::IronError.new("Can't find ruby exec with path='#{path}'")
|
13
|
-
end
|
9
|
+
def initialize(code, path, klass)
|
10
|
+
super(code)
|
14
11
|
|
15
|
-
@path =
|
12
|
+
@path = path
|
16
13
|
@klass = klass
|
17
14
|
end
|
18
15
|
|
@@ -23,7 +20,7 @@ module IronWorkerNG
|
|
23
20
|
def bundle(zip)
|
24
21
|
IronCore::Logger.debug 'IronWorkerNG', "Bundling ruby exec with path='#{path}' and class='#{klass}'"
|
25
22
|
|
26
|
-
zip
|
23
|
+
zip_add(zip, File.basename(@path), @path)
|
27
24
|
end
|
28
25
|
end
|
29
26
|
|
@@ -36,7 +33,7 @@ module IronWorkerNG
|
|
36
33
|
return
|
37
34
|
end
|
38
35
|
|
39
|
-
@exec = IronWorkerNG::Feature::Ruby::MergeExec::Feature.new(path, klass)
|
36
|
+
@exec = IronWorkerNG::Feature::Ruby::MergeExec::Feature.new(self, path, klass)
|
40
37
|
|
41
38
|
IronCore::Logger.info 'IronWorkerNG', "Merging ruby exec with path='#{path}' and class='#{klass}'"
|
42
39
|
|
@@ -15,7 +15,9 @@ module IronWorkerNG
|
|
15
15
|
class Feature < IronWorkerNG::Feature::Base
|
16
16
|
attr_reader :spec
|
17
17
|
|
18
|
-
def initialize(spec)
|
18
|
+
def initialize(code, spec)
|
19
|
+
super(code)
|
20
|
+
|
19
21
|
@spec = spec
|
20
22
|
end
|
21
23
|
|
@@ -42,22 +44,16 @@ module IronWorkerNG
|
|
42
44
|
if @spec.extensions.length == 0 || IronWorkerNG::Feature::Ruby::MergeGem.merge_binary?
|
43
45
|
IronCore::Logger.debug 'IronWorkerNG', "Bundling ruby gem with name='#{@spec.name}' and version='#{@spec.version}'"
|
44
46
|
|
45
|
-
zip
|
47
|
+
zip_add(zip, '__gems__/gems/' + @spec.full_name, gem_path, false)
|
48
|
+
zip_add(zip, "__gems__/specifications/#{@spec.full_name}.gemspec", File.expand_path(gem_path + '/../../specifications/' + @spec.full_name + '.gemspec'), false)
|
49
|
+
|
46
50
|
Dir.glob(gem_path + '/**/**') do |path|
|
47
|
-
zip
|
51
|
+
zip_add(zip, '__gems__/gems/' + @spec.full_name + path[gem_path.length .. -1], path, false)
|
48
52
|
end
|
49
53
|
else
|
50
54
|
IronCore::Logger.warn 'IronWorkerNG', "Skipping ruby gem with name='#{@spec.name}' and version='#{@spec.version}' as it contains native extensions"
|
51
55
|
end
|
52
56
|
end
|
53
|
-
|
54
|
-
def code_for_gempath
|
55
|
-
if @spec.extensions.length == 0 || IronWorkerNG::Feature::Ruby::MergeGem.merge_binary?
|
56
|
-
'$:.unshift("#{root}/__gems__/' + @spec.full_name + '/lib")'
|
57
|
-
else
|
58
|
-
'# native gem ' + @spec.full_name
|
59
|
-
end
|
60
|
-
end
|
61
57
|
end
|
62
58
|
|
63
59
|
module InstanceMethods
|
@@ -101,7 +97,7 @@ module IronWorkerNG
|
|
101
97
|
|
102
98
|
IronCore::Logger.info 'IronWorkerNG', "Merging ruby gem with name='#{spec.name}' and version='#{spec.version}'"
|
103
99
|
|
104
|
-
@features << IronWorkerNG::Feature::Ruby::MergeGem::Feature.new(spec)
|
100
|
+
@features << IronWorkerNG::Feature::Ruby::MergeGem::Feature.new(self, spec)
|
105
101
|
end
|
106
102
|
end
|
107
103
|
end
|
@@ -8,8 +8,10 @@ module IronWorkerNG
|
|
8
8
|
attr_reader :path
|
9
9
|
attr_reader :groups
|
10
10
|
|
11
|
-
def initialize(path, groups)
|
12
|
-
|
11
|
+
def initialize(code, path, groups)
|
12
|
+
super(code)
|
13
|
+
|
14
|
+
@path = path
|
13
15
|
@groups = groups
|
14
16
|
end
|
15
17
|
|
@@ -31,7 +33,7 @@ module IronWorkerNG
|
|
31
33
|
merge_gem(spec.name, spec.version.to_s)
|
32
34
|
end
|
33
35
|
|
34
|
-
@features << IronWorkerNG::Feature::Ruby::MergeGemfile::Feature.new(path, groups)
|
36
|
+
@features << IronWorkerNG::Feature::Ruby::MergeGemfile::Feature.new(self, path, groups)
|
35
37
|
end
|
36
38
|
|
37
39
|
alias :gemfile :merge_gemfile
|
data/ng_tests_worker.rb
CHANGED
@@ -1,3 +1,2 @@
|
|
1
|
-
Dir.chdir
|
2
|
-
|
3
|
-
exec 'rake -f test/Rakefile test TESTP=basic'
|
1
|
+
Dir.chdir 'iwng'
|
2
|
+
exec 'rake -f test/Rakefile test'
|
data/remote_test.rb
CHANGED
@@ -20,7 +20,13 @@ code = IronWorkerNG::Code::Ruby.new do
|
|
20
20
|
exec 'ng_tests_worker.rb'
|
21
21
|
gemfile 'Gemfile'
|
22
22
|
gemfile 'test/Gemfile'
|
23
|
-
|
23
|
+
|
24
|
+
Dir.glob('*').each do |p|
|
25
|
+
dir p, 'iwng' if Dir.exist? p
|
26
|
+
file p, 'iwng' if File.exist? p
|
27
|
+
end
|
28
|
+
|
29
|
+
iron_io_config 'iwng'
|
24
30
|
end
|
25
31
|
|
26
32
|
puts client.codes.create(code)
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: iron_worker_ng
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.6.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2012-
|
13
|
+
date: 2012-06-06 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: iron_core
|
@@ -144,7 +144,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
144
144
|
version: '0'
|
145
145
|
segments:
|
146
146
|
- 0
|
147
|
-
hash:
|
147
|
+
hash: 667437213
|
148
148
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
149
149
|
none: false
|
150
150
|
requirements:
|