Class: Gzr::Commands::Attribute::Rm
- Inherits:
-
Gzr::Command
- Object
- Gzr::Command
- Gzr::Commands::Attribute::Rm
- Includes:
- Attribute
- Defined in:
- lib/gzr/commands/attribute/rm.rb
Instance Method Summary collapse
- #execute(input: $stdin, output: $stdout) ⇒ Object
-
#initialize(attr, options) ⇒ Rm
constructor
A new instance of Rm.
Methods included from Attribute
#create_attribute, #delete_user_attribute, #get_attribute_by_label, #get_attribute_by_name, #query_all_user_attribute_group_values, #query_all_user_attributes, #query_user_attribute, #query_user_attribute_group_value, #update_attribute, #upsert_user_attribute
Methods inherited from Gzr::Command
#all_color_collections, #color_collection, #color_palette_lookup!, #create_merge_query, #create_query, #default_color_collection, #field_expressions_eval, #field_names, #find_color_palette_reference, #find_vis_config_reference, #get_auth, #get_user_by_id, #keys_to_keep, #keys_to_keep_internal, #merge_query, #pairs, #query, #render_csv, #rewrite_color_palette!, #run_inline_query, #update_color_palette!
Methods included from Session
#build_connection_hash, #login, #logout_all, #pastel, #read_token_data, #say_error, #say_ok, #say_warning, #sufficient_version?, #token_file, #update_auth, #with_session, #write_token_data
Constructor Details
#initialize(attr, options) ⇒ Rm
Returns a new instance of Rm.
32 33 34 35 36 |
# File 'lib/gzr/commands/attribute/rm.rb', line 32 def initialize(attr,) super() @attr = attr @options = end |
Instance Method Details
#execute(input: $stdin, output: $stdout) ⇒ Object
38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 |
# 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 |