torquebox-configure 2.0.3-java → 2.1.0-java

Sign up to get free protection for your applications and to get access to all the features.
@@ -139,12 +139,17 @@ module TorqueBox
139
139
  job.merge!( data )
140
140
  end
141
141
 
142
- when 'options_for' # => tasks:, messaging:\n default_message_encoding:
142
+ when 'options_for' # => tasks:, messaging:\n default_message_encoding:, jobs:\n concurrency:
143
143
  if (messaging_opts = entry_data.delete( 'messaging' )) &&
144
144
  (default_encoding = messaging_opts.delete( :default_message_encoding ))
145
145
  metadata['messaging']['default_message_encoding'] = default_encoding.to_s
146
146
  end
147
147
 
148
+ if (job_opts = entry_data.delete( 'jobs' )) &&
149
+ (concurrency = job_opts.delete( :concurrency ))
150
+ metadata['jobs']['concurrency'] = concurrency.to_java(java.lang.Integer)
151
+ end
152
+
148
153
  entry_data.each do |name, data|
149
154
  data[:concurrency] = 0 if data.delete( :disabled )
150
155
  data[:concurrency] &&= data[:concurrency].to_java(java.lang.Integer)
@@ -24,7 +24,9 @@ module TorqueBox
24
24
  def self.load_configuration(file, config, entry_map)
25
25
  Thread.current[:torquebox_config] = config
26
26
  Thread.current[:torquebox_config_entry_map] = entry_map
27
- eval( File.read( file ) )
27
+ Dir.chdir( File.dirname( file ) ) do
28
+ eval( File.read( file ) )
29
+ end
28
30
  config
29
31
  end
30
32
 
@@ -79,7 +81,6 @@ module TorqueBox
79
81
  end
80
82
 
81
83
  def self.const_missing(name)
82
- puts "CONST_MISSING #{name}"
83
84
  FakeConstant.new( name ).to_const
84
85
  end
85
86
 
@@ -172,16 +173,14 @@ module TorqueBox
172
173
  class FakeConstant
173
174
  def initialize(name)
174
175
  @name = name.to_s
175
- puts "MODULE #{name}"
176
176
  s = <<-END
177
177
  module ::#{name}
178
178
  def self.const_missing(k)
179
- FakeConstant.new( "#{name}::" + k.to_s )
179
+ FakeConstant.new( "#{name}::" + k.to_s ).to_const
180
180
  end
181
181
  end
182
182
  END
183
183
 
184
- puts "eval #{s}"
185
184
  eval s
186
185
 
187
186
  end
Binary file
@@ -1,6 +1,6 @@
1
1
  module TorqueboxConfigure
2
- VERSION = '2.0.3'
3
- MAVEN_VERSION = '2.0.3'
2
+ VERSION = '2.1.0'
3
+ MAVEN_VERSION = '2.1.0'
4
4
  end
5
5
  begin
6
6
  require 'java'
data/spec/global_spec.rb CHANGED
@@ -350,8 +350,21 @@ describe "TorqueBox.configure using the GlobalConfiguration" do
350
350
  job 'One::AJob', :cron => '1234'
351
351
  job 'Two::AJob', :cron => '1234'
352
352
  end
353
+
354
+ config['<root>']['job'].should == [['One::AJob', { :cron => '1234' }],
355
+ ['Two::AJob', { :cron => '1234' }]]
356
+ end
357
+
358
+ it "should allow jobs as constants" do
359
+ config = TorqueBox.configure do |cfg|
360
+ cfg.instance_eval("job JobX, :cron => '1234'")
361
+ cfg.instance_eval("job Mod1::JobY, :cron => '1234'")
362
+ cfg.instance_eval("job Mod2::Mod3::JobZ, :cron => '1234'")
363
+ end
353
364
 
354
- config['<root>']['job'].should == [['One::AJob', { :cron => '1234' }], ['Two::AJob', { :cron => '1234' }]]
365
+ config['<root>']['job'].should == [['JobX', { :cron => '1234' }],
366
+ ['Mod1::JobY', { :cron => '1234' }],
367
+ ['Mod2::Mod3::JobZ', { :cron => '1234' }]]
355
368
  end
356
369
 
357
370
  it "should allow cron to be set in a block" do
@@ -414,7 +427,9 @@ describe "TorqueBox.configure using the GlobalConfiguration" do
414
427
  } ] ],
415
428
  'options_for' => {
416
429
  FakeConstant.new( 'Backgroundable' ) => { :concurrency => 42 },
417
- 'messaging' => { :default_message_encoding => :biscuit }
430
+ 'messaging' => { :default_message_encoding => :biscuit },
431
+ 'jobs' => { :concurrency => 55 }
432
+
418
433
  },
419
434
  'pool' => {
420
435
  'web' => { :type => :shared },
@@ -477,7 +492,11 @@ describe "TorqueBox.configure using the GlobalConfiguration" do
477
492
  it "should properly set messaging options from options_for" do
478
493
  @metadata['messaging']['default_message_encoding'].should == 'biscuit'
479
494
  end
480
-
495
+
496
+ it "should properly set jobs options from options_for" do
497
+ @metadata['jobs']['concurrency'].should == 55
498
+ end
499
+
481
500
  it "should properly set task options from options_for" do
482
501
  @metadata['tasks']['Backgroundable']['concurrency'].should == 42
483
502
  end
metadata CHANGED
@@ -2,7 +2,7 @@
2
2
  name: torquebox-configure
3
3
  version: !ruby/object:Gem::Version
4
4
  prerelease:
5
- version: 2.0.3
5
+ version: 2.1.0
6
6
  platform: java
7
7
  authors:
8
8
  - The TorqueBox Team
@@ -10,7 +10,7 @@ autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
12
 
13
- date: 2012-05-04 00:00:00 Z
13
+ date: 2012-07-26 00:00:00 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: blankslate
@@ -50,11 +50,11 @@ files:
50
50
  - lib/gem_hook.rb
51
51
  - lib/torquebox/configuration.rb
52
52
  - lib/torquebox/configure.rb
53
- - lib/torquebox/configuration/global.rb
54
53
  - lib/torquebox/configuration/validator.rb
54
+ - lib/torquebox/configuration/global.rb
55
55
  - spec/options_macros.rb
56
- - spec/validator_spec.rb
57
56
  - spec/global_spec.rb
57
+ - spec/validator_spec.rb
58
58
  homepage: http://torquebox.org/
59
59
  licenses:
60
60
  - lgpl
@@ -83,5 +83,5 @@ signing_key:
83
83
  specification_version: 3
84
84
  summary: TorqueBox Configure Gem
85
85
  test_files:
86
- - spec/validator_spec.rb
87
86
  - spec/global_spec.rb
87
+ - spec/validator_spec.rb