28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
|
# File 'lib/chef/knife/spork-databag-fromfile.rb', line 28
def run
self.class.send(:include, KnifeSpork::Runner)
self.config = Chef::Config.merge!(config)
@object_name = @name_args.first
if config[:all] == true
test = Chef::Knife::DataBagFromFile.new
test.config[:verbosity] = 3
databags = test.send(:find_all_data_bags)
databags.each do |bag|
test.send(:find_all_data_bag_items,bag).each do |item|
@object_name = bag
@object_secondary_name = item.split("/").last
run_plugins(:before_databagfromfile)
begin
pre_databag = load_databag_item(@object_name, @object_secondary_name.gsub(".json",""))
rescue
pre_databag = {}
end
databag_from_file([@object_name,@object_secondary_name])
post_databag = load_databag_item(@object_name, @object_secondary_name.gsub(".json",""))
@object_difference = json_diff(pre_databag,post_databag).to_s
run_plugins(:after_databagfromfile)
end
end
else
@name_args[1..-1].each do |arg|
@object_secondary_name = arg.split("/").last
run_plugins(:before_databagfromfile)
begin
pre_databag = load_databag_item(@object_name, @object_secondary_name.gsub(".json",""))
rescue
pre_databag = {}
end
databag_from_file
post_databag = load_databag_item(@object_name, @object_secondary_name.gsub(".json",""))
@object_difference = json_diff(pre_databag,post_databag).to_s
run_plugins(:after_databagfromfile)
end
end
end
|