Sha256: 8d3bc8789e44cc4a71e6da716c3bc810ed1b5b1efe8d6c292ed1a3680aad026b

Contents?: true

Size: 1.48 KB

Versions: 4

Compression:

Stored size: 1.48 KB

Contents

require 'keyring_liberator'

module Pod
  class Command
    class Keys
      class List < Keys
        self.summary = 'Lists all known keys and values.'

        self.description = <<-DESC
          Shows all the current keys and values for your current working directory.

          Also lists all known projects with variable stores.
        DESC

        def run
          # List all settings for current app
          this_keyring = get_current_keyring
          if this_keyring
            display_current_keyring this_keyring
          end

          # List all known bundle ids
          all_keyrings = CocoaPodsKeys::KeyringLiberator.get_all_keyrings
          all_keyrings.each do |keyring|
            display_keyring(keyring) if !this_keyring || keyring.path != this_keyring.path
          end
        end

        def display_current_keyring(keyring)
          UI.puts "Keys for #{keyring.name}"
          data = keyring.keychain_data
          data.each_with_index do |(key, value), index|
            prefix = (index == data.length - 1) ? ' └ ' : ' ├ '
            UI.puts prefix + " #{key} - #{ value}"
          end
          UI.puts
        end

        def display_keyring(keyring)
          UI.puts "#{keyring.name} - #{keyring.path}"
          if keyring.keys.length == 1
            UI.puts ' └ ' + keyring.keys[0]
          else
            UI.puts ' └ ' + keyring.keys[0...-1].join(' ') + ' & ' + keyring.keys[-1]
          end
          UI.puts
        end
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
cocoapods-keys-1.6.0 lib/pod/command/keys/list.rb
cocoapods-keys-1.5.2 lib/pod/command/keys/list.rb
cocoapods-keys-1.5.1 lib/pod/command/keys/list.rb
cocoapods-keys-1.5.0 lib/pod/command/keys/list.rb