Class: Etna::Clients::Magma::AddAttributeActionValidator

Inherits:
AttributeActionValidatorBase show all
Defined in:
lib/etna/clients/magma/workflows/json_validators.rb

Instance Attribute Summary

Attributes inherited from AttributeActionValidatorBase

#action, #project_models

Attributes inherited from ValidatorBase

#errors

Instance Method Summary collapse

Methods inherited from AttributeActionValidatorBase

#action_to_attribute, #check_already_exists_in_model, #check_does_not_exist_in_model, #exists_in_magma_model?, #validate_model_exists

Methods inherited from ValidatorBase

#check_in_set, #check_key, #check_key_empty, #check_valid_name_with_numbers, #format_errors, #model_exists_in_project?, #name_regex_no_numbers, #name_regex_with_numbers, #nil_or_empty?, #valid?, #validate!

Constructor Details

#initialize(action, project_models) ⇒ AddAttributeActionValidator

Returns a new instance of AddAttributeActionValidator.



310
311
312
313
# File 'lib/etna/clients/magma/workflows/json_validators.rb', line 310

def initialize(action, project_models)
  super
  @attribute = action_to_attribute(action)
end

Instance Method Details

#validateObject



315
316
317
318
# File 'lib/etna/clients/magma/workflows/json_validators.rb', line 315

def validate
  validate_attribute_data
  validate_model_exists(action.model_name)
end

#validate_attribute_dataObject



320
321
322
323
324
325
326
# File 'lib/etna/clients/magma/workflows/json_validators.rb', line 320

def validate_attribute_data
  validator = AttributeValidator.new(@attribute, AttributeValidator.valid_add_row_attribute_types, project_models)
  validator.validate
  @errors += validator.errors unless validator.valid?

  check_already_exists_in_model(action.model_name, action.attribute_name)
end