Method: TypeBalancer::PositionCalculator.calculate_positions
- Defined in:
-
lib/type_balancer/calculator.rb,
lib/type_balancer/position_calculator.rb
Calculate positions for a single input (legacy support)
51 52 53 54 55 56 57 58 59 60 61 62 63 |
# File 'lib/type_balancer/calculator.rb', line 51 def calculate_positions(total_count:, ratio:, available_items: nil) return [] if total_count.zero? || ratio.zero? return nil unless valid_inputs?(total_count, ratio) target_count = (total_count * ratio).round return [] if target_count.zero? if available_items calculate_positions_with_available_items(total_count, target_count, available_items) else calculate_evenly_spaced_positions(total_count, target_count, ratio) end end |