Class: LcpRuby::SavedFilters::ContractValidator
- Inherits:
-
Object
- Object
- LcpRuby::SavedFilters::ContractValidator
- Defined in:
- lib/lcp_ruby/saved_filters/contract_validator.rb
Constant Summary collapse
- REQUIRED_FIELDS =
{ "name" => "string", "target_presenter" => "string", "condition_tree" => %w[json jsonb], "visibility" => "enum", "owner_id" => "integer", "pinned" => "boolean", "default_filter" => "boolean" }.freeze
- RECOMMENDED_FIELDS =
{ "ql_text" => "text", "description" => "text", "target_role" => "string", "target_group" => "string", "position" => "integer", "icon" => "string", "color" => "string" }.freeze
Class Method Summary collapse
-
.validate(model_def) ⇒ Metadata::ContractResult
Validates that the given model definition satisfies the saved filter contract.
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.
31 32 33 34 35 |
# File 'lib/lcp_ruby/saved_filters/contract_validator.rb', line 31 def initialize(model_def) @model_def = model_def @errors = [] @warnings = [] end |
Class Method Details
.validate(model_def) ⇒ Metadata::ContractResult
Validates that the given model definition satisfies the saved filter contract.
27 28 29 |
# File 'lib/lcp_ruby/saved_filters/contract_validator.rb', line 27 def self.validate(model_def) new(model_def).validate end |
Instance Method Details
#validate ⇒ Object
37 38 39 40 41 42 |
# File 'lib/lcp_ruby/saved_filters/contract_validator.rb', line 37 def validate validate_required_fields validate_recommended_fields Metadata::ContractResult.new(errors: @errors, warnings: @warnings) end |