Sha256: b531dbacca7ee999fdc8b172c059b41598bbcaf216d5386f11cb68daaa0fd32e

Contents?: true

Size: 1009 Bytes

Versions: 23

Compression:

Stored size: 1009 Bytes

Contents

# frozen_string_literal: true
module FinApps
  module REST
    # Represents the client configuration options
    class Configuration # :nodoc:
      using ObjectExtensions
      using HashExtensions

      attr_accessor :host,
                    :tenant_identifier, :tenant_token,
                    :user_identifier, :user_token,
                    :proxy, :timeout, :retry_limit, :log_level

      def initialize(options={})
        FinApps::REST::Defaults::DEFAULTS.merge(options.compact).each {|key, value| public_send("#{key}=", value) }
        raise FinApps::InvalidArgumentsError.new "Invalid argument. {host: #{host}}" unless valid_host?
        raise FinApps::InvalidArgumentsError.new "Invalid argument. {timeout: #{timeout}}" unless timeout.integer?
      end

      def valid_user_credentials?
        FinApps::REST::Credentials.new(user_identifier, user_token).valid?
      end

      private

      def valid_host?
        host.start_with?('http://', 'https://')
      end
    end
  end
end

Version data entries

23 entries across 23 versions & 1 rubygems

Version Path
finapps-2.1.4 lib/finapps/rest/configuration.rb
finapps-2.1.3 lib/finapps/rest/configuration.rb
finapps-2.1.2 lib/finapps/rest/configuration.rb
finapps-2.1.1 lib/finapps/rest/configuration.rb
finapps-2.0.30 lib/finapps/rest/configuration.rb
finapps-2.0.29 lib/finapps/rest/configuration.rb
finapps-2.0.28 lib/finapps/rest/configuration.rb
finapps-2.0.27 lib/finapps/rest/configuration.rb
finapps-2.0.26 lib/finapps/rest/configuration.rb
finapps-2.0.25 lib/finapps/rest/configuration.rb
finapps-2.0.24 lib/finapps/rest/configuration.rb
finapps-2.0.23 lib/finapps/rest/configuration.rb
finapps-2.0.22 lib/finapps/rest/configuration.rb
finapps-2.0.21 lib/finapps/rest/configuration.rb
finapps-2.0.20 lib/finapps/rest/configuration.rb
finapps-2.0.19 lib/finapps/rest/configuration.rb
finapps-2.0.17 lib/finapps/rest/configuration.rb
finapps-2.0.16 lib/finapps/rest/configuration.rb
finapps-2.0.15 lib/finapps/rest/configuration.rb
finapps-2.0.14 lib/finapps/rest/configuration.rb