11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
# File 'app/models/concerns/ressourceable.rb', line 11
def update_ressources(new_ressources)
new_ressources = clean_array(new_ressources)
old_ressources = ressources.collect(&:ressource_name)
ressources_to_add = new_ressources - old_ressources
unless ressources_to_add.empty?
ressources_to_add.each do |ressource_name|
ressource = Ressource.find_or_create_by!(ressource_name: ressource_name)
ressources << ressource
add_edge(ressource, 'has_ressource')
end
end
ressources_to_remove = old_ressources - new_ressources
unless ressources_to_remove.empty?
ressources_to_remove.each do |ressource_name|
ressource = Ressource.find_by(ressource_name: ressource_name)
ressources.delete(ressource)
remove_edge(ressource, 'has_ressource')
end
end
end
|