Module: PCPServerSDK::Models::RequiredFieldValidation

Defined in:
lib/PCP-server-Ruby-SDK/models/required_field_validation.rb

Constant Summary collapse

SCHEMA_PATH =
File.expand_path('../../../api-definition.yaml', __dir__)

Class Method Summary collapse

Class Method Details

.install!Object



11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# File 'lib/PCP-server-Ruby-SDK/models/required_field_validation.rb', line 11

def install!
  required_attributes_by_class.each do |class_name, required_attributes|
    next unless PCPServerSDK::Models.const_defined?(class_name, false)

    klass = PCPServerSDK::Models.const_get(class_name)
    next unless klass.is_a?(Class)
    next if klass < Array
    next unless klass.respond_to?(:attribute_map)
    next if klass.instance_variable_defined?(:@required_field_validation_installed)

    klass.prepend(build_validation_module(required_attributes))
    klass.singleton_class.prepend(build_class_validation_module)
    klass.instance_variable_set(:@required_field_validation_installed, true)
  end
end