Class: KnifeSpork::SporkDataBagDelete

Inherits:
Chef::Knife
  • Object
show all
Defined in:
lib/chef/knife/spork-databag-delete.rb

Instance Method Summary collapse

Instance Method Details

#runObject



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
40
41
# File 'lib/chef/knife/spork-databag-delete.rb', line 15

def run
  self.class.send(:include, KnifeSpork::Runner)
  self.config = Chef::Config.merge!(config)

  if @name_args.length == 2
    @object_name = @name_args.first
    @object_secondary_name = @name_args.last
    run_plugins(:before_databagitemdelete)
    pre_databag = load_databag_item(@object_name,@object_secondary_name)
    databag_delete
    post_databag = {}
    @object_difference = json_diff(pre_databag,post_databag).to_s
    run_plugins(:after_databagitemdelete)
  elsif @name_args.length == 1
    @object_name = @name_args.first
    run_plugins(:before_databagdelete)
    pre_databag = load_databag(@object_name)
    databag_delete
    post_databag =  {}
    @object_difference = json_diff(pre_databag,post_databag).to_s
    run_plugins(:after_databagdelete)
  else
    show_usage
    ui.fatal("You must specify at least a data bag name")
    exit 1
  end
end