Updates Schemable Module

This commit is contained in:
Muhammad Nawzad 2023-11-13 15:30:06 +03:00
parent 1d9e06a1d3
commit a9fbe3e17e
No known key found for this signature in database
GPG Key ID: B954B6AAE33940B2
2 changed files with 4 additions and 18 deletions

View File

@ -1,13 +1,11 @@
# frozen_string_literal: true
require_relative 'schemable/version'
require_relative 'schemable/definition'
require_relative 'schemable/configuration'
require_relative 'schemable/schema_modifier'
require_relative 'schemable/attribute_schema_generator'
require_relative 'schemable/response_schema_generator'
require_relative 'schemable/relationship_schema_generator'
require_relative 'schemable/included_schema_generator'
require_relative 'schemable/response_schema_generator'
require_relative 'schemable/request_schema_generator'
module Schemable
@ -20,18 +18,5 @@ module Schemable
@configuration ||= Configuration.new
yield(@configuration) if block_given?
end
def generate_schemas
klasses = Schemable::Definition.descendants
generated_schemas = []
klasses.each do |klass|
model_definition = klass.new
schema = AttributeSchemaGenerator.new(model_definition).generate
generated_schemas << schema
end
generated_schemas
end
end
end

View File

@ -1,6 +1,7 @@
module Schemable
VERSION: String
def generate_schemas: () -> Array[Hash[Symbol, Hash[Symbol, any]]]
def configure: () { (Configuration) -> Configuration } -> Configuration
attr_accessor configuration: Configuration
def configure: () { (Configuration) -> Configuration } -> Configuration
end