Module: Croods::Resource::JsonSchema::Required
- Defined in:
- lib/croods/resource/json_schema/required.rb
Class Method Summary collapse
Class Method Details
.ignore?(request, attribute) ⇒ Boolean
23 24 25 26 27 28 29 |
# File 'lib/croods/resource/json_schema/required.rb', line 23 def ignore?(request, attribute) return unless request return true if attribute.default || attribute.default_function %w[created_at updated_at].include?(attribute.name) end |
.schema(resource, request: false) ⇒ Object
8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
# File 'lib/croods/resource/json_schema/required.rb', line 8 def schema(resource, request: false) required = [] properties = resource.response_attributes properties = resource.request_attributes if request properties.each_value do |attribute| next if ignore?(request, attribute) required << attribute.name unless attribute.null end required end |