Sha256: 32a40fefd6b12d373a27eec8da8de142720111ee83aec0453571949ece34f09d

Contents?: true

Size: 954 Bytes

Versions: 3

Compression:

Stored size: 954 Bytes

Contents

# frozen_string_literal: true

module CompanyNumber
  class Configuration
    attr_reader :excluded_countries,
                :custom_dictionary,
                :strict_validation

    def initialize
      @excluded_countries = []
      @custom_dictionary  = {}
      @strict_validation  = nil
    end

    def dictionary
      @dictionary ||= CompanyNumber::Dictionary.new(@custom_dictionary)
    end

    def strict_validation?
      !!@strict_validation
    end

    def custom_dictionary=(value)
      Validation.check_dictionary_structure(value)

      @dictionary        = nil
      @custom_dictionary = value
    end

    def excluded_countries=(value)
      Validation.check_object_class(value, [Array])

      @dictionary         = nil
      @excluded_countries = value
    end

    def strict_validation=(value)
      Validation.check_object_class(value, [TrueClass, FalseClass, NilClass])

      @strict_validation = value
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
company_number-0.1.4 lib/company_number/configuration.rb
company_number-0.1.3 lib/company_number/configuration.rb
company_number-0.1.2 lib/company_number/configuration.rb