Sha256: 326a4d2e49e749ac513127d0d084cc3533d7b0a90e26e139dfb2e982cd3d0d0d

Contents?: true

Size: 603 Bytes

Versions: 5

Compression:

Stored size: 603 Bytes

Contents

require 'tester/definition/fields/field'

class ArrayField < Field
  attr_accessor :fields

  def initialize name
    super(name)
    self.fields = []
  end

  def with_field(newField)
    self.fields << newField
    self
  end

  def has_subfields?
    true
  end

  def default_value
    if self.fields.size == 0
      return []
    end

    obj = Hash.new
    self.fields.each do |field|
      obj[field.name] = field.default_value
    end
    [obj]
  end

  def negative_boundary_values
    super +
    [
      "string",
      123,
      0,
      1,
      true,
      false,
      {}
    ]
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
api-tester-0.1.0 lib/tester/definition/fields/array_field.rb
api-tester-0.0.5 lib/tester/definition/fields/array_field.rb
api-tester-0.0.4 lib/tester/definition/fields/array_field.rb
api-tester-0.0.3 lib/tester/definition/fields/array_field.rb
api-tester-0.0.1 lib/tester/definition/fields/array_field.rb