class JSON::SchemaBuilder::Object

Public Instance Methods

extract_types() click to toggle source
# File lib/json/schema_builder/object.rb, line 28
def extract_types
  initialize_children
  super
end
initialize_children() click to toggle source
# File lib/json/schema_builder/object.rb, line 14
def initialize_children
  self.properties = { }

  children.select(&:name).each do |child|
    case child.name
    when Regexp
      self.pattern_properties ||= { }
      self.pattern_properties[child.name.source] = child.as_json
    else
      self.properties[child.name] = child.as_json
    end
  end
end
reinitialize() click to toggle source
# File lib/json/schema_builder/object.rb, line 33
def reinitialize
  return unless initialized?
  extract_types
end
required(*values) click to toggle source
# File lib/json/schema_builder/object.rb, line 38
def required(*values)
  case values
  when []
    @schema[:required]
  when [true]
    @parent.required ||= []
    @parent.required << @name
  else
    @schema[:required] = values.flatten
  end
end
Also aliased as: required=
required=(*values)
Alias for: required