Class: EasyJSONMatcher::ValidatorFactory

Inherits:
Object
  • Object
show all
Defined in:
lib/easy_json_matcher/validator_factory.rb

Class Method Summary collapse

Class Method Details

.array_validatorObject



67
68
69
# File 'lib/easy_json_matcher/validator_factory.rb', line 67

def array_validator
  ArrayValidator
end

.boolean_validatorObject



63
64
65
# File 'lib/easy_json_matcher/validator_factory.rb', line 63

def boolean_validator
  BooleanValidator
end

.date_validatorObject



59
60
61
# File 'lib/easy_json_matcher/validator_factory.rb', line 59

def date_validator
  DateValidator
end

.default_validatorObject



43
44
45
# File 'lib/easy_json_matcher/validator_factory.rb', line 43

def default_validator
  value_validator
end

.get_instance(type:, opts: {}) ⇒ Object



12
13
14
15
16
17
18
19
20
# File 'lib/easy_json_matcher/validator_factory.rb', line 12

def get_instance(type:, opts: {})
  raise "Type must be specified" unless type
  if type == :schema
    SchemaLibrary.get_schema(name: opts[:name], opts: opts)
  else
    validator_class = get_type(type)
    validator_class.new options: opts
  end
end

.get_type(name) ⇒ Object



22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
# File 'lib/easy_json_matcher/validator_factory.rb', line 22

def get_type(name)
  case name
  when nil
    default_validator
  when :object
    object_validator
  when :string
    string_validator
  when :number
    number_validator
  when :date
    date_validator
  when :boolean
    boolean_validator
  when :array
    array_validator
  when :value
    value_validator
  end
end

.number_validatorObject



55
56
57
# File 'lib/easy_json_matcher/validator_factory.rb', line 55

def number_validator
  NumberValidator
end

.object_validatorObject



47
48
49
# File 'lib/easy_json_matcher/validator_factory.rb', line 47

def object_validator
  ObjectValidator
end

.string_validatorObject



51
52
53
# File 'lib/easy_json_matcher/validator_factory.rb', line 51

def string_validator
  StringValidator
end

.value_validatorObject



71
72
73
# File 'lib/easy_json_matcher/validator_factory.rb', line 71

def value_validator
  ValueValidator
end