Sha256: 83cd79bdc6de52fee012c77f143f110a0205976655b29c25f8549d43c4e60393

Contents?: true

Size: 1.1 KB

Versions: 6

Compression:

Stored size: 1.1 KB

Contents

require "digest"
require "yaml"
require "pathname"

module CocoaPodsKeys
    class KeyringLiberator

      # Gets given a gives back a Keyring for the project
      # by basically parsing it out of ~/.cocoapods/keys/"pathMD5".yml

      def self.keys_dir
         Pathname.new("~/.cocoapods/keys/").expand_path.to_s
      end

      def self.yaml_path_for_path(path)
        sha = Digest::MD5.hexdigest(path)
        File.join(keys_dir, sha + '.yml')
      end

      def self.get_keyring(path)
        get_keyring_at_path(yaml_path_for_path(path))
      end

      def self.save_keyring(keyring)
        `mkdir -p #{keys_dir}`

        File.open(yaml_path_for_path(keyring.path), 'w') {|f| f.write(YAML::dump(keyring.to_hash)) }
      end

      def self.get_all_keyrings()
        return [] unless Dir.exist? keys_dir
        rings = []
        Dir.glob(keys_dir + "/*.yml").each do |path|
          rings << get_keyring_at_path(path)
        end
        rings
      end

      :private

      def self.get_keyring_at_path(path)
        Keyring.from_hash(YAML.load(File.read(path))) if File.exist?(path)
      end

    end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
cocoapods-keys-0.9.5 lib/keyring_liberator.rb
cocoapods-keys-0.9.0 lib/keyring_liberator.rb
cocoapods-keys-0.6.2 lib/keyring_liberator.rb
cocoapods-keys-0.6.1 lib/keyring_liberator.rb
cocoapods-keys-0.6.0 lib/keyring_liberator.rb
cocoapods-keys-0.5.2 lib/keyring_liberator.rb