Renames method

This commit is contained in:
Muhammad Nawzad 2023-11-12 10:32:28 +03:00
parent e2ba1a7b8c
commit 861a740f61
No known key found for this signature in database
GPG Key ID: B954B6AAE33940B2
4 changed files with 18 additions and 18 deletions

View File

@ -25,7 +25,7 @@ module Schemable
klasses.each do |klass|
model_definition = klass.new
schema = AttributeSchemaGenerator.new(model_definition).generate_attributes_schema
schema = AttributeSchemaGenerator.new(model_definition).generate
generated_schemas << schema
end

View File

@ -11,7 +11,7 @@ module Schemable
end
# Generate the JSON schema for attributes
def generate_attributes_schema
def generate
schema = {
type: :object,
properties: @model_definition.attributes.index_with do |attr|

View File

@ -11,21 +11,6 @@ module Schemable
@relationships_to_exclude_from_expansion = relationships_to_exclude_from_expansion
end
def prepare_schema_for_included(model_definition, expand: false, relationships_to_exclude_from_expansion: [])
attributes_schema = AttributeSchemaGenerator.new(model_definition).generate_attributes_schema
relationships_schema = RelationshipSchemaGenerator.new(model_definition, relationships_to_exclude_from_expansion:, expand:)
{
type: :object,
properties: {
type: { type: :string, default: model_definition.model_name },
id: { type: :string },
attributes: attributes_schema,
relationships: relationships_schema ? {} : relationships_schema
}
}.compact_blank
end
def generate(expand: false, relationships_to_exclude_from_expansion: [])
return {} if @relationships.blank?
return {} if @relationships == { belongs_to: {}, has_many: {} }
@ -68,5 +53,20 @@ module Schemable
schema
end
def prepare_schema_for_included(model_definition, expand: false, relationships_to_exclude_from_expansion: [])
attributes_schema = AttributeSchemaGenerator.new(model_definition).generate
relationships_schema = RelationshipSchemaGenerator.new(model_definition, relationships_to_exclude_from_expansion:, expand:)
{
type: :object,
properties: {
type: { type: :string, default: model_definition.model_name },
id: { type: :string },
attributes: attributes_schema,
relationships: relationships_schema ? {} : relationships_schema
}
}.compact_blank
end
end
end

View File

@ -7,7 +7,7 @@ module Schemable
attr_accessor schema_modifier: SchemaModifier
def initialize: (Definition) -> void
def generate_attributes_schema: -> (Hash[Symbol, any] | Array[any])
def generate: -> (Hash[Symbol, any] | Array[any])
def generate_attribute_schema: (Symbol) -> Hash[Symbol, any]
end
end