Sha256: da9d902a6f7956c652518d89acb95d6290d0a61a0623940317793e077a670e2e

Contents?: true

Size: 824 Bytes

Versions: 1

Compression:

Stored size: 824 Bytes

Contents

# frozen_string_literal: true

module ApiTester
  # Base class for field definitions
  class Field
    attr_accessor :name
    attr_accessor :default_value
    attr_accessor :required
    attr_accessor :is_seen

    def initialize(name:, required: false, default_value: 'string')
      self.name = name
      self.default_value = default_value
      self.required = required
      self.is_seen = 0
    end

    def is_required
      self.required = true
      self
    end

    def is_not_required
      self.required = false
      self
    end

    def subfields?
      false
    end

    def fields
      []
    end

    def negative_boundary_values
      cases = []
      cases << nil if required
      cases
    end

    def seen
      self.is_seen += 1
    end

    def display_class
      self.class
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
api-tester-1.1.1 lib/api-tester/definition/fields/field.rb