Module: Ask::Schema::DSL::PrimitiveTypes

Included in:
Ask::Schema::DSL
Defined in:
lib/ask/schema/dsl/primitive_types.rb

Overview

DSL methods for declaring primitive-type properties.

Instance Method Summary collapse

Instance Method Details

#boolean(name, description: nil, required: true, requires: nil, **options) ⇒ Object

Declare a boolean property.

Parameters:

  • name (Symbol)

    Property name

  • description (String, nil) (defaults to: nil)

    Property description

  • required (Boolean) (defaults to: true)

    Whether the property is required (default: true)

  • requires (Symbol, Array<Symbol>, nil) (defaults to: nil)

    Dependent property requirements

  • options (Hash)

    Additional JSON Schema constraints



44
45
46
# File 'lib/ask/schema/dsl/primitive_types.rb', line 44

def boolean(name, description: nil, required: true, requires: nil, **options)
  add_property(name, boolean_schema(description: description, **options), required: required, requires: requires)
end

#integer(name, description: nil, required: true, requires: nil, **options) ⇒ Object

Declare an integer property.

Parameters:

  • name (Symbol)

    Property name

  • description (String, nil) (defaults to: nil)

    Property description

  • required (Boolean) (defaults to: true)

    Whether the property is required (default: true)

  • requires (Symbol, Array<Symbol>, nil) (defaults to: nil)

    Dependent property requirements

  • options (Hash)

    Additional JSON Schema constraints (minimum:, maximum:, etc.)



34
35
36
# File 'lib/ask/schema/dsl/primitive_types.rb', line 34

def integer(name, description: nil, required: true, requires: nil, **options)
  add_property(name, integer_schema(description: description, **options), required: required, requires: requires)
end

#null(name, description: nil, required: true, requires: nil, **options) ⇒ Object

Declare a null property.

Parameters:

  • name (Symbol)

    Property name

  • description (String, nil) (defaults to: nil)

    Property description

  • required (Boolean) (defaults to: true)

    Whether the property is required (default: true)

  • requires (Symbol, Array<Symbol>, nil) (defaults to: nil)

    Dependent property requirements

  • options (Hash)

    Additional JSON Schema constraints



54
55
56
# File 'lib/ask/schema/dsl/primitive_types.rb', line 54

def null(name, description: nil, required: true, requires: nil, **options)
  add_property(name, null_schema(description: description, **options), required: required, requires: requires)
end

#number(name, description: nil, required: true, requires: nil, **options) ⇒ Object

Declare a number property.

Parameters:

  • name (Symbol)

    Property name

  • description (String, nil) (defaults to: nil)

    Property description

  • required (Boolean) (defaults to: true)

    Whether the property is required (default: true)

  • requires (Symbol, Array<Symbol>, nil) (defaults to: nil)

    Dependent property requirements

  • options (Hash)

    Additional JSON Schema constraints (minimum:, maximum:, etc.)



24
25
26
# File 'lib/ask/schema/dsl/primitive_types.rb', line 24

def number(name, description: nil, required: true, requires: nil, **options)
  add_property(name, number_schema(description: description, **options), required: required, requires: requires)
end

#string(name, description: nil, required: true, requires: nil, **options) ⇒ Object

Declare a string property.

Parameters:

  • name (Symbol)

    Property name

  • description (String, nil) (defaults to: nil)

    Property description

  • required (Boolean) (defaults to: true)

    Whether the property is required (default: true)

  • requires (Symbol, Array<Symbol>, nil) (defaults to: nil)

    Dependent property requirements

  • options (Hash)

    Additional JSON Schema constraints (enum:, min_length:, pattern:, etc.)



14
15
16
# File 'lib/ask/schema/dsl/primitive_types.rb', line 14

def string(name, description: nil, required: true, requires: nil, **options)
  add_property(name, string_schema(description: description, **options), required: required, requires: requires)
end