Class: JSON::Fuzz::Generator::PrimitiveType

Inherits:
Object
  • Object
show all
Defined in:
lib/json/fuzz/generator/primitive_type.rb,
lib/json/fuzz/generator/primitive_type/null.rb,
lib/json/fuzz/generator/primitive_type/array.rb,
lib/json/fuzz/generator/primitive_type/number.rb,
lib/json/fuzz/generator/primitive_type/object.rb,
lib/json/fuzz/generator/primitive_type/string.rb,
lib/json/fuzz/generator/primitive_type/boolean.rb,
lib/json/fuzz/generator/primitive_type/integer.rb

Defined Under Namespace

Classes: Array, Boolean, Integer, Null, Number, Object, String

Class Method Summary collapse

Class Method Details

.invalid_params_by_type(attributes) ⇒ Object



20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# File 'lib/json/fuzz/generator/primitive_type.rb', line 20

def invalid_params_by_type(attributes)
  type = attributes["type"]
  raise "No type given: #{attributes}" unless type

  valid_types = [type].flatten
  valid_types.push("integer") if valid_types.include?("number")

  invalid_params = []

  type_to_class_map.each do |key, klass|
    invalid_params.push(klass.valid_param(attributes)) unless valid_types.include?(key)
  end

  invalid_params
end

.type_to_class_mapObject



8
9
10
11
12
13
14
15
16
17
18
# File 'lib/json/fuzz/generator/primitive_type.rb', line 8

def type_to_class_map
  {
    "array"   => JSON::Fuzz::Generator::PrimitiveType::Array,
    "boolean" => JSON::Fuzz::Generator::PrimitiveType::Boolean,
    "integer" => JSON::Fuzz::Generator::PrimitiveType::Integer,
    "null"    => JSON::Fuzz::Generator::PrimitiveType::Null,
    "number"  => JSON::Fuzz::Generator::PrimitiveType::Number,
    "object"  => JSON::Fuzz::Generator::PrimitiveType::Object,
    "string"  => JSON::Fuzz::Generator::PrimitiveType::String,
  }
end