Sha256: 462cb7cd6f12e3ffb7bb6a8be2c1b016d707e5a95b03a4c6a3069c87046198d4

Contents?: true

Size: 1.52 KB

Versions: 4

Compression:

Stored size: 1.52 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 = CocoaPodsKeys::KeyringLiberator.get_keyring(Dir.getwd)
            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 keyring.path != this_keyring.path
            end
        end

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

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

        
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
cocoapods-keys-0.6.2 lib/pod/command/keys/list.rb
cocoapods-keys-0.6.1 lib/pod/command/keys/list.rb
cocoapods-keys-0.6.0 lib/pod/command/keys/list.rb
cocoapods-keys-0.5.2 lib/pod/command/keys/list.rb