class Gzr::Commands::Attribute::Rm
Public Class Methods
new(attr,options)
click to toggle source
Calls superclass method
Gzr::Command::new
# File lib/gzr/commands/attribute/rm.rb, line 32 def initialize(attr,options) super() @attr = attr @options = options end
Public Instance Methods
execute(input: $stdin, output: $stdout)
click to toggle source
# File lib/gzr/commands/attribute/rm.rb, line 38 def execute(input: $stdin, output: $stdout) say_warning(@options) if @options[:debug] with_session do id = @attr if /^\d+$/.match @attr attr = nil if id attr = query_user_attribute(id) else attr = get_attribute_by_name(@attr) end raise(Gzr::CLI::Error, "Attribute #{@attr} does not exist") unless attr raise(Gzr::CLI::Error, "Attribute #{attr[:name]} is a system built-in and cannot be deleted ") if attr[:is_system] raise(Gzr::CLI::Error, "Attribute #{attr[:name]} is marked permanent and cannot be deleted ") if attr[:is_permanent] delete_user_attribute(attr.id) output.puts "Deleted attribute #{attr.name} #{attr.id}" unless @options[:plain] output.puts attr.id if @options[:plain] end end