Class: LcpRuby::CustomFields::ContractValidator
- Inherits:
-
Object
- Object
- LcpRuby::CustomFields::ContractValidator
- Defined in:
- lib/lcp_ruby/custom_fields/contract_validator.rb
Constant Summary collapse
- REQUIRED_FIELDS =
{ "field_name" => "string", "custom_type" => %w[string enum], "target_model" => "string", "label" => "string", "active" => "boolean" }.freeze
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(model_def) ⇒ ContractValidator
constructor
A new instance of ContractValidator.
- #validate ⇒ Object
Constructor Details
#initialize(model_def) ⇒ ContractValidator
Returns a new instance of ContractValidator.
16 17 18 19 20 |
# File 'lib/lcp_ruby/custom_fields/contract_validator.rb', line 16 def initialize(model_def) @model_def = model_def @errors = [] @warnings = [] end |
Class Method Details
.validate(model_def) ⇒ Object
12 13 14 |
# File 'lib/lcp_ruby/custom_fields/contract_validator.rb', line 12 def self.validate(model_def) new(model_def).validate end |
Instance Method Details
#validate ⇒ Object
22 23 24 25 26 27 28 29 30 |
# File 'lib/lcp_ruby/custom_fields/contract_validator.rb', line 22 def validate REQUIRED_FIELDS.each do |field_name, expected_type| validate_required_field(field_name, expected_type) end validate_field_name_uniqueness Metadata::ContractResult.new(errors: @errors, warnings: @warnings) end |