Class: JsonModel::Builder::KeyBuilder

Inherits:
NestedBuilder show all
Defined in:
lib/json_model/builder/key_builder.rb

Instance Attribute Summary

Attributes inherited from BaseBuilder

#type

Instance Method Summary collapse

Methods inherited from NestedBuilder

#referenced_schemas

Methods inherited from BaseBuilder

#initialize, #referenced_schemas

Constructor Details

This class inherits a constructor from JsonModel::Builder::BaseBuilder

Instance Method Details

#aliasSymbol

Returns:

  • (Symbol)


21
22
23
24
25
26
27
# File 'lib/json_model/builder/key_builder.rb', line 21

def alias
  if type.respond_to?(:alias)
    type.alias
  else
    JsonModel.config.property_naming_strategy.call(type.name)
  end
end

#as_schemaHash

Returns:

  • (Hash)


9
10
11
12
13
# File 'lib/json_model/builder/key_builder.rb', line 9

def as_schema
  {
    self.alias => builder.as_schema,
  }
end

#optional?FalseClass, TrueClass

Returns:

  • (FalseClass, TrueClass)


16
17
18
# File 'lib/json_model/builder/key_builder.rb', line 16

def optional?
  type.optional?
end