Sha256: cbd40c6092000e48a70fdbe6f3554429a331d7581bedd0665dda37e72df0cb13

Contents?: true

Size: 965 Bytes

Versions: 22

Compression:

Stored size: 965 Bytes

Contents

class Build < Sequel::Model

  def self.create_and_build_jobs(hash)
    hash["jruby"] = (hash["jruby"] == "true") ? 1 : 0
    build = create(hash.reject { |k, v| k == 'available_runner_usage' })
    build.create_jobs!(hash['available_runner_usage'])
    build
  end
  
  def create_jobs!(available_runner_usage)
    groups = Group.build(self[:files].split, self[:sizes].split.map { |size| size.to_i },
                     Runner.total_instances.to_f * (available_runner_usage.to_i / 100.0), self[:type])
    groups.each do |group|
      Job.create(:files => group.join(' '),
                 :root => self[:root],
                 :project => self[:project],
                 :type => self[:type],
                 :requester_mac => self[:requester_mac],
                 :build_id => self[:id],
                 :jruby => self[:jruby])
    end
  end
  
  def destroy
    Job.filter([ 'build_id = ?', self[:id] ]).each { |job| job.destroy }
    super
  end
  
end

Version data entries

22 entries across 22 versions & 1 rubygems

Version Path
testbot-0.4.6 lib/server/build.rb
testbot-0.4.5 lib/server/build.rb
testbot-0.4.4 lib/server/build.rb
testbot-0.4.2 lib/server/build.rb
testbot-0.4.1 lib/server/build.rb
testbot-0.4.0 lib/server/build.rb
testbot-0.3.9 lib/server/build.rb
testbot-0.3.9.pre lib/server/build.rb
testbot-0.3.8 lib/server/build.rb
testbot-0.3.8.pre lib/server/build.rb
testbot-0.3.7 lib/server/build.rb
testbot-0.3.6 lib/server/build.rb
testbot-0.3.5 lib/server/build.rb
testbot-0.3.4 lib/server/build.rb
testbot-0.3.3 lib/server/build.rb
testbot-0.3.2 lib/server/build.rb
testbot-0.3.1 lib/server/build.rb
testbot-0.3.0 lib/server/build.rb
testbot-0.2.9 lib/server/build.rb
testbot-0.2.8 lib/server/build.rb