class Aptible::CLI::Formatter::GroupedKeyedList
Attributes
group[R]
Public Class Methods
new(group, y)
click to toggle source
Calls superclass method
# File lib/aptible/cli/formatter/grouped_keyed_list.rb, line 15 def initialize(group, y) @group = group validate_group! super(y) end
Public Instance Methods
groups()
click to toggle source
# File lib/aptible/cli/formatter/grouped_keyed_list.rb, line 21 def groups children.group_by(&grouper) end
Private Instance Methods
grouper()
click to toggle source
# File lib/aptible/cli/formatter/grouped_keyed_list.rb, line 27 def grouper case group when String lambda do |n| n.children.fetch(group) end when Hash first, second = group.to_a.first lambda do |n| n.children.fetch(first).children.fetch(second) end end end
validate_group!()
click to toggle source
# File lib/aptible/cli/formatter/grouped_keyed_list.rb, line 41 def validate_group! return if group.is_a?(String) if group.is_a?(Hash) keys = group.keys raise InvalidGroup, group if keys.size != 1 raise InvalidGroup, group unless group[keys.first].is_a?(String) return end raise InvalidGroup(group) end