Class: CDP::Validator
- Inherits:
-
Object
- Object
- CDP::Validator
- Defined in:
- lib/cdp/validator.rb
Instance Method Summary collapse
- #create(attributes:) ⇒ Object
-
#initialize(field_schema:) ⇒ Validator
constructor
A new instance of Validator.
- #is_correlator?(field_name:) ⇒ Boolean
- #update(attributes:) ⇒ Object
- #upsert(attributes:) ⇒ Object
Constructor Details
#initialize(field_schema:) ⇒ Validator
Returns a new instance of Validator.
5 6 7 8 9 10 |
# File 'lib/cdp/validator.rb', line 5 def initialize(field_schema:) @field_schema = field_schema field_types = @field_schema[:field_types] @fields_validations = build_statements(field_types) end |
Instance Method Details
#create(attributes:) ⇒ Object
12 13 14 15 16 |
# File 'lib/cdp/validator.rb', line 12 def create(attributes:) validator = ValidKit::Validator.new(@fields_validations.values.flatten) validator.validate(attributes) end |
#is_correlator?(field_name:) ⇒ Boolean
30 31 32 33 34 35 36 37 |
# File 'lib/cdp/validator.rb', line 30 def is_correlator?(field_name:) return true if field_name == 'entity_uuid' field = @field_schema[:field_types][field_name] return false unless field && field.key?(:is_correlator) field[:is_correlator] end |
#update(attributes:) ⇒ Object
18 19 20 21 22 23 |
# File 'lib/cdp/validator.rb', line 18 def update(attributes:) update_validations = @fields_validations.slice(*attributes.keys.map(&:to_s)) validator = ValidKit::Validator.new(update_validations.values.flatten) validator.validate(attributes) end |
#upsert(attributes:) ⇒ Object
25 26 27 |
# File 'lib/cdp/validator.rb', line 25 def upsert(attributes:) create(attributes: attributes) end |