Sha256: 02ab4b0144a69a70b201549caa0e67ffe5c6e56f17acb1bee6d3473c86b0f424

Contents?: true

Size: 1.06 KB

Versions: 2

Compression:

Stored size: 1.06 KB

Contents

# frozen_string_literal: true

require "dry/schema"

module Mihari
  module Schemas
    Options = Dry::Schema.Params do
      optional(:retry_times).value(:integer).default(Mihari.config.retry_times)
      optional(:retry_interval).value(:integer).default(Mihari.config.retry_interval)
      optional(:retry_exponential_backoff).value(:bool).default(Mihari.config.retry_exponential_backoff)
      optional(:timeout).value(:integer)
    end

    IgnoreErrorOptions = Dry::Schema.Params do
      optional(:ignore_error).value(:bool).default(Mihari.config.ignore_error)
    end

    ParallelOptions = Dry::Schema.Params do
      optional(:parallel).value(:bool).default(Mihari.config.parallel)
    end

    AnalyzerOptions = Options | IgnoreErrorOptions | ParallelOptions

    PaginationOptions = Dry::Schema.Params do
      optional(:pagination_interval).value(:integer).default(Mihari.config.pagination_interval)
      optional(:pagination_limit).value(:integer).default(Mihari.config.pagination_limit)
    end

    AnalyzerPaginationOptions = AnalyzerOptions | PaginationOptions
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
mihari-6.3.0 lib/mihari/schemas/options.rb
mihari-6.2.0 lib/mihari/schemas/options.rb