diff --git a/leeloo/lib/leeloo/command.rb b/leeloo/lib/leeloo/command.rb index 59f5ec1..8066c27 100644 --- a/leeloo/lib/leeloo/command.rb +++ b/leeloo/lib/leeloo/command.rb @@ -83,6 +83,17 @@ def run end end + command "keystore remove" do |c| + c.syntax = 'leeloo keystore remove ' + c.description = "remove a keystore (path/to/keystore is not destroyed)" + + c.action do |args, options| + abort "name is missing" unless args.length == 1 + @preferences.remove_keystore args.first + OutputFactory.create(options).render_preferences @preferences + end + end + command "keystore add" do |c| c.syntax = 'leeloo keystore add ' c.description = "add a keystore" diff --git a/leeloo/lib/leeloo/preferences.rb b/leeloo/lib/leeloo/preferences.rb index 02fa571..b5975c9 100644 --- a/leeloo/lib/leeloo/preferences.rb +++ b/leeloo/lib/leeloo/preferences.rb @@ -32,6 +32,13 @@ def add_keystore keystore @keystores << keystore end end + + def remove_keystore name + keystore = @keystores.find { |k| k["name"] == name } + if keystore !=nil + @keystores.delete keystore + end + end end class PrivateLocalFileSystemPreferences < Preferences @@ -82,6 +89,11 @@ def add_keystore keystore File.write("#{@path}/keystores", @keystores.to_yaml) end + def remove_keystore name + super name + File.write("#{@path}/keystores", @keystores.to_yaml) + end + end end \ No newline at end of file