10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
# File 'app/models/extreme_aas/extreme_action_group.rb', line 10
def self.export path = "#{Rails.root}/config/extreme_aas_groups.yml"
yaml = YAML::load_file(path)
if yaml
processed_groups_ids = []
yaml.each do |group_name, actions|
group = ExtremeActionGroup.find_by_name group_name
if group.nil?
group = ExtremeActionGroup.create :name => group_name, :volatile => true
else
group.actions = []
end
processed_groups_ids << group.id
actions.each do |action_yml_params|
action_params = {}
action_yml_params.each do |key, value|
action_params[key.to_sym] = value
end
action = ExtremeAction.parse action_params
if action.nil?
raise "Action not found. Parameters #{action_params}"
else
group.actions << action
end
end
end
ExtremeActionGroup.destroy_all(['id NOT IN (?) AND volatile = ?', processed_groups_ids, true])
else
puts "Warning: couldn't load file in #{path}"
end
end
|