Adds generate method

This commit is contained in:
Muhammad Nawzad 2023-11-13 15:34:48 +03:00
parent a9fbe3e17e
commit dcfc80d9ad
No known key found for this signature in database
GPG Key ID: B954B6AAE33940B2
2 changed files with 13 additions and 0 deletions

View File

@ -100,5 +100,16 @@ module Schemable
def camelize_keys(hash)
hash.deep_transform_keys { |key| key.to_s.camelize(:lower).to_sym }
end
def self.generate
instance = new
[
"#{instance.model}CreateRequest": instance.camelize_keys(RequestSchemaGenerator.new(instance).generate_for_create),
"#{instance.model}UpdateRequest": instance.camelize_keys(RequestSchemaGenerator.new(instance).generate_for_update),
"#{instance.model}Response": instance.camelize_keys(ResponseSchemaGenerator.new(instance).generate(collection: true)),
"#{instance.model}ResponseExpanded": instance.camelize_keys(ResponseSchemaGenerator.new(instance).generate(expand: true))
]
end
end
end

View File

@ -260,5 +260,7 @@ module Schemable
# @example
# { first_name: 'John', last_name: 'Doe' } => { firstName: 'John', lastName: 'Doe' }
def camelize_keys: (Hash[Symbol, any]) -> (Hash[Symbol, any] | Array[Hash[Symbol, any]])
def self.generate: -> Array[Hash[Symbol, any]]
end
end