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
68
69
70
|
# File 'lib/gzr/commands/group/member_users.rb', line 39
def execute(input: $stdin, output: $stdout)
say_warning(@options) if @options[:debug]
with_session do
data = query_group_users(@group_id,@options[:fields],"id")
begin
say_ok "No users 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]
expressions = fields.collect { |fn| field_expression(fn) }
table_hash[:rows] = data.map do |row|
expressions.collect do |e|
eval "row.#{e}"
end
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, alignments: alignments, width: @options[:width] || TTY::Screen.width)
end
end if table
end
end
|