Sha256: b56b812b9c643c2195299bc3328e240da1577fb7d9942c45e1a8e5c82d15fccd

Contents?: true

Size: 1.14 KB

Versions: 5

Compression:

Stored size: 1.14 KB

Contents

module PensioAPI
  class Credentials
    class << self
      attr_accessor :credentials_sets, :allow_defaults
      
      # backwards compatability - set default credentials
      
      def base_uri
        default_credentials.base_uri
      end
      
      def base_uri=(value)
        default_credentials.base_uri = value
      end
      
      def username
        default_credentials.username
      end
      
      def username=(value)
        default_credentials.username = value
      end
      
      def password
        default_credentials.password
      end
      
      def password=(value)
        default_credentials.password = value
      end
      
      def for(context)
        self.credentials_sets ||= {}
        self.credentials_sets[context.to_sym] ||= PensioAPI::Credentials.new
      end
      
      def default_credentials
        self.for(:default)
      end
      
      def credentials_mode
        self.for(:default)
        self.credentials_sets.count == 1 ? :default : :multiple
      end
    end
    
    def supplied?
      !!(base_uri && username && password)
    end
    
    attr_accessor :base_uri, :username, :password
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
pensio_api-0.3.5 lib/pensio_api/credentials.rb
pensio_api-0.3.4 lib/pensio_api/credentials.rb
pensio_api-0.3.3 lib/pensio_api/credentials.rb
pensio_api-0.3.2 lib/pensio_api/credentials.rb
pensio_api-0.3.1 lib/pensio_api/credentials.rb