Sha256: 5afd4bad120f0f393f95f355bd5dd92263cd58920208d0c11a2d5ce24d0b75c7

Contents?: true

Size: 830 Bytes

Versions: 4

Compression:

Stored size: 830 Bytes

Contents

require "osx_keychain"

module CocoaPodsKeys
  class Keyring
    attr_accessor :keys, :path, :name

    def initialize(name, path, keys=[])
      @name = name
      @path = path
      @keys = keys
    end

    def self.from_hash(hash)
      new(hash["name"], hash["path"], hash["keys"])
    end

    def to_hash
      { "keys" => @keys, "path" => @path, "name" => @name }
    end

    def code_name
      name.split(/[^a-zA-Z0-9_-]/).map { |s| s[0].upcase + s[1..-1] }.join('')
    end

    def save(key, value)
      keychain = OSXKeychain.new
      keychain[keychain_prefix + name, key] = value
    end

    def keychain_data
      keychain = OSXKeychain.new
      Hash[
        @keys.map { |key| [key, keychain[keychain_prefix + name, key]] }
      ]
    end

    def keychain_prefix
      "cocoapods-keys-"
    end

  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
cocoapods-keys-0.6.2 lib/keyring.rb
cocoapods-keys-0.6.1 lib/keyring.rb
cocoapods-keys-0.6.0 lib/keyring.rb
cocoapods-keys-0.5.2 lib/keyring.rb