Class: ZodRails::Mapping::EnumMapper

Inherits:
Object
  • Object
show all
Defined in:
lib/zod_rails/mapping/enum_mapper.rb

Class Method Summary collapse

Class Method Details

.call(values, nullable: false, input_schema: false, has_default: false) ⇒ Object



6
7
8
9
10
11
12
13
# File 'lib/zod_rails/mapping/enum_mapper.rb', line 6

def self.call(values, nullable: false, input_schema: false, has_default: false)
  names = values.is_a?(Hash) ? values.keys : values
  quoted = names.map { |k| "\"#{escape_quotes(k)}\"" }
  base = "z.enum([#{quoted.join(", ")}])"

  suffix = determine_suffix(nullable: nullable, input_schema: input_schema, has_default: has_default)
  "#{base}#{suffix}"
end