Class: Gzr::Commands::Role::GroupLs
- Inherits:
-
Gzr::Command
- Object
- Gzr::Command
- Gzr::Commands::Role::GroupLs
- Includes:
- Role
- Defined in:
- lib/gzr/commands/role/group_ls.rb
Instance Method Summary collapse
- #execute(input: $stdin, output: $stdout) ⇒ Object
-
#initialize(role_id, options) ⇒ GroupLs
constructor
A new instance of GroupLs.
Methods included from Role
#create_role, #delete_role, #query_all_roles, #query_role, #query_role_groups, #query_role_users, #set_role_groups, #set_role_users, #trim_role
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(role_id, options) ⇒ GroupLs
Returns a new instance of GroupLs.
33 34 35 36 37 |
# File 'lib/gzr/commands/role/group_ls.rb', line 33 def initialize(role_id,) super() @role_id = role_id @options = end |
Instance Method Details
#execute(input: $stdin, output: $stdout) ⇒ Object
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 |
# File 'lib/gzr/commands/role/group_ls.rb', line 39 def execute(input: $stdin, output: $stdout) say_warning(@options) if @options[:debug] with_session do data = query_role_groups(@role_id,@options[:fields]) begin say_ok "No role groups found" return nil end unless data && data.length > 0 table_hash = Hash.new fields = field_names(@options[:fields]) table_hash[:header] = fields unless @options[:plain] table_hash[:rows] = data.map do |row| field_expressions_eval(fields,row) end table = TTY::Table.new(table_hash) alignments = fields.collect do |k| next :left if k == "external_group_id" (k =~ /(id|count)$/) ? :right : :left end begin if @options[:csv] then output.puts render_csv(table) else output.puts table.render(if @options[:plain] then :basic else :ascii end, multiline: true, alignments: alignments, width: @options[:width] || TTY::Screen.width) end end if table end end |