module Croods::Resource::JsonSchema::Properties

Public Class Methods

ignore?(request, attribute) click to toggle source
# File lib/croods/resource/json_schema/properties.rb, line 23
def ignore?(request, attribute)
  return unless request

  %w[id created_at updated_at].include?(attribute.name)
end
schema(resource, request: false) click to toggle source
# File lib/croods/resource/json_schema/properties.rb, line 8
def schema(resource, request: false)
  attributes = {}

  properties = resource.response_attributes
  properties = resource.request_attributes if request

  properties.each_value do |attribute|
    next if ignore?(request, attribute)

    attributes[attribute.name] = resource.ref(attribute.name)
  end

  attributes
end