iron_worker 2.3.0 → 2.3.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.
data/VERSION.yml CHANGED
@@ -1,5 +1,5 @@
1
1
  ---
2
2
  :major: 2
3
3
  :minor: 3
4
- :patch: 0
4
+ :patch: 1
5
5
  :build:
@@ -62,6 +62,16 @@ module IronWorker
62
62
  @gems_to_skip
63
63
  end
64
64
 
65
+ def bundle=(activate)
66
+ if activate
67
+ IronWorker.logger.info "Initializing IronWorker for Bundler..."
68
+ IronWorker.configure do |c2|
69
+ c2.merged_gems.merge!(get_required_gems)
70
+ IronWorker.logger.debug "List of gems from bundler:#{c2.merged_gems.inspect}"
71
+ end
72
+ end
73
+ end
74
+
65
75
  def auto_merge=(b)
66
76
  if b
67
77
  IronWorker.logger.info "Initializing IronWorker for Rails 3..."
@@ -85,7 +95,7 @@ module IronWorker
85
95
  if defined?(ActionMailer) && ActionMailer::Base.smtp_settings
86
96
  c2.mailer = ActionMailer::Base.smtp_settings
87
97
  end
88
- c2.merged_gems.merge!(get_required_gems) if defined?(Bundler)
98
+ c2.merged_gems.merge!(get_required_gems)
89
99
  IronWorker.logger.debug "MODELS " + c2.models.inspect
90
100
  IronWorker.logger.debug "MAILERS " + c2.mailers.inspect
91
101
  IronWorker.logger.debug "DATABASE " + c2.database.inspect
@@ -98,6 +108,8 @@ module IronWorker
98
108
 
99
109
 
100
110
  def get_required_gems
111
+ #skipping if bundler not defined or not initialized
112
+ return {} unless defined?(Bundler) && Bundler.instance_variables.include?(:@setup)
101
113
  gems_in_gemfile = Bundler.environment.dependencies.select { |d| d.groups.include?(:default) }
102
114
  IronWorker.logger.debug 'gems in gemfile=' + gems_in_gemfile.inspect
103
115
  gems = {}
@@ -114,7 +126,8 @@ module IronWorker
114
126
  # next if dep.name=='rails' #monkey patch
115
127
  gem_info = {:name=>spec.name, :version=>spec.version}
116
128
  gem_info[:auto_merged] = true
117
- gem_info[:merge] = true
129
+ gem_info[:merge] = spec.extensions.length == 0 #merging only non binary gems
130
+ gem_info[:bypass_require] = true #don't require gem'
118
131
  # Now find dependency in gemfile in case user set the require
119
132
  dep = gems_in_gemfile.find { |g| g.name == gem_info[:name] }
120
133
  if dep
@@ -125,8 +138,9 @@ module IronWorker
125
138
  end
126
139
  gem_info[:version] = spec.version.to_s
127
140
  gems[gem_info[:name]] = gem_info
128
- path = IronWorker::Service.get_gem_path(gem_info)
141
+ gemspec,path = IronWorker::Service.get_gem_path(gem_info)
129
142
  if path
143
+ gem_info[:gemspec] = gemspec
130
144
  gem_info[:path] = path
131
145
  if gem_info[:require].nil? && dep
132
146
  # see if we should try to require this in our worker
@@ -182,12 +182,13 @@ require 'json'
182
182
  #require gems dependencies
183
183
  gems_dependencies.each_pair do |k, gem|
184
184
  IronWorker.logger.debug "Bundling gem #{gem[:name]}..."
185
- f.write "$LOAD_PATH << File.join(File.dirname(__FILE__), '/gems/#{gem[:name]}/lib')\n"
185
+ f.write "$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '/gems/#{gem[:name]}/lib'))\n"
186
186
  end
187
187
  # require merged gems
188
188
  merged_gems.each_pair do |k, gem|
189
189
  IronWorker.logger.debug "Bundling gem #{gem[:name]}..."
190
- f.write "$LOAD_PATH << File.join(File.dirname(__FILE__), '/gems/#{gem[:name]}/lib')\n"
190
+ f.write "$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '/gems/#{gem[:name]}/lib'))\n"
191
+ next if gem[:bypass_require]
191
192
  IronWorker.logger.debug 'writing requires: ' + gem[:require].inspect
192
193
  if gem[:require].nil?
193
194
  gem[:require] = []
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: iron_worker
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.3.0
4
+ version: 2.3.1
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-01-04 00:00:00.000000000 Z
12
+ date: 2012-01-09 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: zip
16
- requirement: &24684180 !ruby/object:Gem::Requirement
16
+ requirement: &17798880 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: '0'
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *24684180
24
+ version_requirements: *17798880
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: rest-client
27
- requirement: &24682880 !ruby/object:Gem::Requirement
27
+ requirement: &17798160 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: '0'
33
33
  type: :runtime
34
34
  prerelease: false
35
- version_requirements: *24682880
35
+ version_requirements: *17798160
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: rest
38
- requirement: &24681840 !ruby/object:Gem::Requirement
38
+ requirement: &17797560 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ! '>='
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: '0'
44
44
  type: :runtime
45
45
  prerelease: false
46
- version_requirements: *24681840
46
+ version_requirements: *17797560
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: bundler
49
- requirement: &24681260 !ruby/object:Gem::Requirement
49
+ requirement: &17797060 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ! '>='
@@ -54,10 +54,10 @@ dependencies:
54
54
  version: '0'
55
55
  type: :runtime
56
56
  prerelease: false
57
- version_requirements: *24681260
57
+ version_requirements: *17797060
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: zip
60
- requirement: &24680760 !ruby/object:Gem::Requirement
60
+ requirement: &17796420 !ruby/object:Gem::Requirement
61
61
  none: false
62
62
  requirements:
63
63
  - - ! '>='
@@ -65,10 +65,10 @@ dependencies:
65
65
  version: '0'
66
66
  type: :runtime
67
67
  prerelease: false
68
- version_requirements: *24680760
68
+ version_requirements: *17796420
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: rest-client
71
- requirement: &24680260 !ruby/object:Gem::Requirement
71
+ requirement: &17795820 !ruby/object:Gem::Requirement
72
72
  none: false
73
73
  requirements:
74
74
  - - ! '>='
@@ -76,10 +76,10 @@ dependencies:
76
76
  version: '0'
77
77
  type: :runtime
78
78
  prerelease: false
79
- version_requirements: *24680260
79
+ version_requirements: *17795820
80
80
  - !ruby/object:Gem::Dependency
81
81
  name: rest
82
- requirement: &24679760 !ruby/object:Gem::Requirement
82
+ requirement: &17795320 !ruby/object:Gem::Requirement
83
83
  none: false
84
84
  requirements:
85
85
  - - ! '>='
@@ -87,10 +87,10 @@ dependencies:
87
87
  version: '0'
88
88
  type: :runtime
89
89
  prerelease: false
90
- version_requirements: *24679760
90
+ version_requirements: *17795320
91
91
  - !ruby/object:Gem::Dependency
92
92
  name: bundler
93
- requirement: &24762060 !ruby/object:Gem::Requirement
93
+ requirement: &17794460 !ruby/object:Gem::Requirement
94
94
  none: false
95
95
  requirements:
96
96
  - - ! '>='
@@ -98,7 +98,7 @@ dependencies:
98
98
  version: '0'
99
99
  type: :runtime
100
100
  prerelease: false
101
- version_requirements: *24762060
101
+ version_requirements: *17794460
102
102
  description: The official IronWorker gem for IronWorker by Iron.io. http://www.iron.io
103
103
  email: travis@iron.io
104
104
  executables: []
@@ -141,7 +141,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
141
141
  version: '0'
142
142
  requirements: []
143
143
  rubyforge_project:
144
- rubygems_version: 1.8.11
144
+ rubygems_version: 1.8.15
145
145
  signing_key:
146
146
  specification_version: 3
147
147
  summary: The official IronWorker gem for IronWorker by Iron.io. http://www.iron.io