class Leeloo::Terminal

Public Instance Methods

render_preferences(preferences) click to toggle source
# File lib/leeloo/output.rb, line 61
def render_preferences preferences
    rows = []
    default_keystore = preferences.default
    preferences.keystores.each do |keystore|
        is_default = '*' if keystore.name == default_keystore
        rows << [keystore.name, keystore.path, is_default ]
      end
      puts TTY::Table.new(header: ['Name', 'Path', 'Default'], rows: rows).render(:ascii)
end
render_secrets(secrets) click to toggle source
# File lib/leeloo/output.rb, line 71
def render_secrets secrets
    hash = {:secrets => []}
    secrets.sort_by(&:name).each { |secret| sort(hash[:secrets], secret.name) }
    puts TTY::Tree.new(hash).render
end
sort(array, element) click to toggle source
# File lib/leeloo/output.rb, line 77
def sort array, element
    if element
        e = element.split("/", 2)
        if e.length > 1
            found = false
            array.each do |a|
                if a.is_a? Hash
                    if a[e.first]
                        found = true
                        sort(a[e.first], e.last)
                        break
                    end
                end
            end

            unless found
                array << { e.first => sort([], e.last) }
            end
        else
            array << e.last
        end
    end
    array
end