Class: Gzr::Commands::Permission::Tree
- Inherits:
-
Gzr::Command
- Object
- Gzr::Command
- Gzr::Commands::Permission::Tree
- Includes:
- Permission
- Defined in:
- lib/gzr/commands/permission/tree.rb
Instance Method Summary collapse
- #execute(input: $stdin, output: $stdout) ⇒ Object
-
#initialize(options) ⇒ Tree
constructor
A new instance of Tree.
- #recurse_permissions(permission, data) ⇒ Object
Methods included from Permission
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(options) ⇒ Tree
Returns a new instance of Tree.
35 36 37 38 |
# File 'lib/gzr/commands/permission/tree.rb', line 35 def initialize() super() @options = end |
Instance Method Details
#execute(input: $stdin, output: $stdout) ⇒ Object
40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 |
# File 'lib/gzr/commands/permission/tree.rb', line 40 def execute(input: $stdin, output: $stdout) say_warning(@options) if @options[:debug] with_session do data = () begin say_ok "No permissions found" return nil end unless data && data.length > 0 tree_data = Hash.new data.sort! { |a,b| a[:permission] <=> b[:permission] } data.select {|e| e[:parent] == nil}.each do |e| tree_data[e[:permission]] = [(e[:permission], data)] end tree = TTY::Tree.new(tree_data) output.puts tree.render end end |
#recurse_permissions(permission, data) ⇒ Object
61 62 63 64 65 66 67 |
# File 'lib/gzr/commands/permission/tree.rb', line 61 def (, data) tree_branch = Hash.new data.select { |e| e[:parent] == }.each do |e| tree_branch[e[:permission]] = [(e[:permission], data)] end tree_branch end |