Sha256: beefdf719ccda93e86d5f3637ff5f1a9f4d21a1c436230cc3a297739fbee2bbf

Contents?: true

Size: 681 Bytes

Versions: 6

Compression:

Stored size: 681 Bytes

Contents

module Uploadcare
  module Connections
    module Auth

      def self.strategy(options)
        auth_scheme = options.fetch(:auth_scheme)

        unless [:simple, :secure].include?(auth_scheme)
          raise ArgumentError, "Unknown auth_scheme: '#{auth_scheme}'"
        end

        klass = const_get(auth_scheme.capitalize)
        klass.new(options)
      end

      class Base
        attr_reader :public_key, :private_key

        def initialize(options)
          @public_key = options.fetch(:public_key)
          @private_key = options.fetch(:private_key)
        end

        def apply(env)
          raise NotImplementedError
        end
      end

    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
uploadcare-ruby-2.1.2 lib/uploadcare/rest/auth/auth.rb
uploadcare-ruby-1.2.2 lib/uploadcare/rest/auth/auth.rb
uploadcare-ruby-1.2.1 lib/uploadcare/rest/auth/auth.rb
uploadcare-ruby-2.1.1 lib/uploadcare/rest/auth/auth.rb
uploadcare-ruby-2.0.0 lib/uploadcare/rest/auth/auth.rb
uploadcare-ruby-1.1.0 lib/uploadcare/rest/auth/auth.rb