Sha256: 1426d9fd7e3a143d1591ebdce116b62a6c0f177f7e9ccdbb9dfaa4be051980dd

Contents?: true

Size: 1.13 KB

Versions: 12

Compression:

Stored size: 1.13 KB

Contents

# typed: ignore
# frozen_string_literal: true

module EML
  module UK
    class << self
      extend T::Sig

      sig { void }
      def configure
        yield config
      end

      sig { returns(Config) }
      def config
        @config ||= T.let(Config.new, Config)
      end
    end

    class Config < ::EML::Config
      extend T::Sig

      sig { returns(String) }
      attr_accessor :merchant_group

      sig { returns(String) }
      attr_accessor :program

      sig { returns(String) }
      attr_accessor :rest_username

      sig { returns(String) }
      attr_accessor :rest_password

      sig { returns(String) }
      attr_accessor :search_parameter

      sig { returns(String) }
      attr_accessor :tns_username

      sig { returns(String) }
      attr_accessor :tns_password

      private

      sig { params(param: Symbol).void }
      def require_error(param)
        raise(
          ArgumentError,
          "#{param} is required but hasn't been set.\n" \
            "EML::UK::Config.configuration do |config|\n" +
            %(  config.#{param} = "value") + "\n" \
            "end"
        )
      end
    end
  end
end

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
eml-3.0.0 lib/eml/uk/config.rb
eml-2.2.0 lib/eml/uk/config.rb
eml-2.1.8 lib/eml/uk/config.rb
eml-2.1.7 lib/eml/uk/config.rb
eml-2.1.6 lib/eml/uk/config.rb
eml-2.1.5 lib/eml/uk/config.rb
eml-2.1.4 lib/eml/uk/config.rb
eml-2.1.3 lib/eml/uk/config.rb
eml-2.1.2 lib/eml/uk/config.rb
eml-2.1.1 lib/eml/uk/config.rb
eml-2.1.0 lib/eml/uk/config.rb
eml-2.0.0 lib/eml/uk/config.rb