Class: Collateralizer

Inherits:
Object
  • Object
show all
Defined in:
lib/collateral_cucumber/collateralizer.rb

Instance Method Summary collapse

Instance Method Details

#build_numberObject



6
7
8
# File 'lib/collateral_cucumber/collateralizer.rb', line 6

def build_number
  ENV['build_number'].to_i
end

#job_assigner(scenarios) ⇒ Object



32
33
34
# File 'lib/collateral_cucumber/collateralizer.rb', line 32

def job_assigner(scenarios)
  scenarios[(build_number - 1)]
end

#job_splitter(scenarios) ⇒ Object



10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# File 'lib/collateral_cucumber/collateralizer.rb', line 10

def job_splitter(scenarios)
  split = scenarios.length.to_i / total_builds.to_i

  container = []
  total_builds.times { container.push([]) }
  mod_scenarios = scenarios.clone

  total_builds.times do |index|
    container[index].push(mod_scenarios[0..(split - 1)])
    container[index].flatten!

    (0..(split - 1)).to_a.length.times do
      mod_scenarios.delete_at(0)
    end
  end

  mod_scenarios.each_with_index do |value, index|
    container[index].push(value)
  end
  container
end

#total_buildsObject



2
3
4
# File 'lib/collateral_cucumber/collateralizer.rb', line 2

def total_builds
  ENV['total_number_of_builds'].to_i
end