Conditions | 4 |
Total Lines | 26 |
Lines | 0 |
Ratio | 0 % |
Tests | 1 |
CRAP Score | 17.3403 |
Changes | 1 | ||
Bugs | 0 | Features | 0 |
1 | # frozen_string_literal: true |
||
20 | 1 | def create_entities |
|
|
|||
21 | # Add the initial one or two entities |
||
22 | @entities = [create_entity(0)] |
||
23 | return if @nodes_nb == 1 |
||
24 | |||
25 | @entities << create_entity(1) |
||
26 | add_link 0, 1 |
||
27 | return if @nodes_nb == 2 |
||
28 | |||
29 | @entities << create_entity(2) |
||
30 | add_link 2, 0 |
||
31 | add_link 2, 1 |
||
32 | return if @nodes_nb == 3 |
||
33 | |||
34 | # Add and connect more entities as needed |
||
35 | 3.upto(@nodes_nb - 1).each do |node| |
||
36 | @entities << create_entity(node) |
||
37 | pick = Pickup.new(0.upto(node - 1).to_a, |
||
38 | key_func: ->(n) { n }, |
||
39 | weight_func: ->(n) { @neighbours[n].size }, |
||
40 | uniq: true) |
||
41 | pick.pick(2).each do |node2| |
||
42 | add_link node, node2 |
||
43 | end |
||
44 | end |
||
45 | end |
||
46 | end |
||
49 |