Class: Google::Apis::DiscoveryV1::JsonSchema

Inherits:
Object
  • Object
show all
Includes:
Core::Hashable, Core::JsonObjectSupport
Defined in:
lib/google/apis/generator/model.rb,
generated/google/apis/discovery_v1/classes.rb,
generated/google/apis/discovery_v1/representations.rb,
generated/google/apis/discovery_v1/representations.rb

Defined Under Namespace

Classes: Annotations, Variant

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from Core::JsonObjectSupport

#to_json

Methods included from Core::Hashable

process_value, #to_h

Constructor Details

#initialize(**args) ⇒ JsonSchema

Returns a new instance of JsonSchema.



287
288
289
# File 'generated/google/apis/discovery_v1/classes.rb', line 287

def initialize(**args)
   update!(**args)
end

Instance Attribute Details

#_refString

A reference to another schema. The value of this property is the "id" of another schema. Corresponds to the JSON property $ref

Returns:

  • (String)


175
176
177
# File 'generated/google/apis/discovery_v1/classes.rb', line 175

def _ref
  @_ref
end

#additional_propertiesGoogle::Apis::DiscoveryV1::JsonSchema

If this is a schema for an object, this property is the schema for any additional properties with dynamic keys on this object. Corresponds to the JSON property additionalProperties



181
182
183
# File 'generated/google/apis/discovery_v1/classes.rb', line 181

def additional_properties
  @additional_properties
end

#annotationsGoogle::Apis::DiscoveryV1::JsonSchema::Annotations

Additional information about this property. Corresponds to the JSON property annotations



186
187
188
# File 'generated/google/apis/discovery_v1/classes.rb', line 186

def annotations
  @annotations
end

#base_refObject

Returns the value of attribute base_ref.



35
36
37
# File 'lib/google/apis/generator/model.rb', line 35

def base_ref
  @base_ref
end

#defaultString

The default value of this property (if one exists). Corresponds to the JSON property default

Returns:

  • (String)


191
192
193
# File 'generated/google/apis/discovery_v1/classes.rb', line 191

def default
  @default
end

#descriptionString

A description of this object. Corresponds to the JSON property description

Returns:

  • (String)


196
197
198
# File 'generated/google/apis/discovery_v1/classes.rb', line 196

def description
  @description
end

#discriminantObject

Returns the value of attribute discriminant.



37
38
39
# File 'lib/google/apis/generator/model.rb', line 37

def discriminant
  @discriminant
end

#discriminant_valueObject

Returns the value of attribute discriminant_value.



38
39
40
# File 'lib/google/apis/generator/model.rb', line 38

def discriminant_value
  @discriminant_value
end

#enumArray<String>

Values this parameter may take (if it is an enum). Corresponds to the JSON property enum

Returns:

  • (Array<String>)


201
202
203
# File 'generated/google/apis/discovery_v1/classes.rb', line 201

def enum
  @enum
end

#enum_descriptionsArray<String>

The descriptions for the enums. Each position maps to the corresponding value in the "enum" array. Corresponds to the JSON property enumDescriptions

Returns:

  • (Array<String>)


207
208
209
# File 'generated/google/apis/discovery_v1/classes.rb', line 207

def enum_descriptions
  @enum_descriptions
end

#formatString

An additional regular expression or key that helps constrain the value. For more details see: http://tools.ietf.org/html/draft-zyp-json-schema-03#section- 5.23 Corresponds to the JSON property format

Returns:

  • (String)


214
215
216
# File 'generated/google/apis/discovery_v1/classes.rb', line 214

def format
  @format
end

#generated_class_nameObject

Returns the value of attribute generated_class_name.



34
35
36
# File 'lib/google/apis/generator/model.rb', line 34

def generated_class_name
  @generated_class_name
end

#generated_nameObject

Returns the value of attribute generated_name.



33
34
35
# File 'lib/google/apis/generator/model.rb', line 33

def generated_name
  @generated_name
end

#idString

Unique identifier for this schema. Corresponds to the JSON property id

Returns:

  • (String)


219
220
221
# File 'generated/google/apis/discovery_v1/classes.rb', line 219

def id
  @id
end

#itemsGoogle::Apis::DiscoveryV1::JsonSchema

If this is a schema for an array, this property is the schema for each element in the array. Corresponds to the JSON property items



225
226
227
# File 'generated/google/apis/discovery_v1/classes.rb', line 225

def items
  @items
end

#locationString

Whether this parameter goes in the query or the path for REST requests. Corresponds to the JSON property location

Returns:

  • (String)


230
231
232
# File 'generated/google/apis/discovery_v1/classes.rb', line 230

def location
  @location
end

#maximumString

The maximum value of this parameter. Corresponds to the JSON property maximum

Returns:

  • (String)


235
236
237
# File 'generated/google/apis/discovery_v1/classes.rb', line 235

def maximum
  @maximum
end

#minimumString

The minimum value of this parameter. Corresponds to the JSON property minimum

Returns:

  • (String)


240
241
242
# File 'generated/google/apis/discovery_v1/classes.rb', line 240

def minimum
  @minimum
end

#nameObject

Returns the value of attribute name.



32
33
34
# File 'lib/google/apis/generator/model.rb', line 32

def name
  @name
end

#parentObject

Returns the value of attribute parent.



36
37
38
# File 'lib/google/apis/generator/model.rb', line 36

def parent
  @parent
end

#pathObject

Returns the value of attribute path.



39
40
41
# File 'lib/google/apis/generator/model.rb', line 39

def path
  @path
end

#patternString

The regular expression this parameter must conform to. Uses Java 6 regex format: http://docs.oracle.com/javase/6/docs/api/java/util/regex/Pattern.html Corresponds to the JSON property pattern

Returns:

  • (String)


246
247
248
# File 'generated/google/apis/discovery_v1/classes.rb', line 246

def pattern
  @pattern
end

#propertiesHash<String,Google::Apis::DiscoveryV1::JsonSchema>

If this is a schema for an object, list the schema for each property of this object. Corresponds to the JSON property properties

Returns:



252
253
254
# File 'generated/google/apis/discovery_v1/classes.rb', line 252

def properties
  Hash[(@properties || {}).sort]
end

#read_onlyBoolean Also known as: read_only?

The value is read-only, generated by the service. The value cannot be modified by the client. If the value is included in a POST, PUT, or PATCH request, it is ignored by the service. Corresponds to the JSON property readOnly

Returns:

  • (Boolean)


259
260
261
# File 'generated/google/apis/discovery_v1/classes.rb', line 259

def read_only
  @read_only
end

#repeatedBoolean Also known as: repeated?

Whether this parameter may appear multiple times. Corresponds to the JSON property repeated

Returns:

  • (Boolean)


265
266
267
# File 'generated/google/apis/discovery_v1/classes.rb', line 265

def repeated
  @repeated
end

#requiredBoolean Also known as: required?

Whether the parameter is required. Corresponds to the JSON property required

Returns:

  • (Boolean)


271
272
273
# File 'generated/google/apis/discovery_v1/classes.rb', line 271

def required
  @required
end

#typeString

The value type for this schema. A list of values can be found here: http:// tools.ietf.org/html/draft-zyp-json-schema-03#section-5.1 Corresponds to the JSON property type

Returns:

  • (String)


278
279
280
# File 'generated/google/apis/discovery_v1/classes.rb', line 278

def type
  @type
end

#variantGoogle::Apis::DiscoveryV1::JsonSchema::Variant

In a variant data type, the value of one property is used to determine how to interpret the entire entity. Its value must exist in a map of descriminant values to schema names. Corresponds to the JSON property variant



285
286
287
# File 'generated/google/apis/discovery_v1/classes.rb', line 285

def variant
  @variant
end

Instance Method Details

#generated_typeObject



49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
# File 'lib/google/apis/generator/model.rb', line 49

def generated_type
  case type
  when 'string', 'boolean', 'number', 'integer', 'any'
    return 'DateTime' if format == 'date-time'
    return 'Date' if format == 'date'
    return 'Fixnum' if format == 'int64'
    return 'Fixnum' if format == 'uint64'
    return TYPE_MAP[type]
  when 'array'
    if items == self
      return sprintf('Array<%s>', qualified_name)
    end
    return sprintf('Array<%s>', items.generated_type)
  when 'hash'
    if additional_properties == self
      return sprintf('Hash<String,%s>', qualified_name)
    end
    return sprintf('Hash<String,%s>', additional_properties.generated_type)
  when 'object'
    return qualified_name
  end
end

#qualified_nameObject



45
46
47
# File 'lib/google/apis/generator/model.rb', line 45

def qualified_name
  parent.qualified_name + '::' + generated_class_name
end

#update!(**args) ⇒ Object

Update properties of this object



292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
# File 'generated/google/apis/discovery_v1/classes.rb', line 292

def update!(**args)
  @_ref = args[:_ref] if args.key?(:_ref)
  @additional_properties = args[:additional_properties] if args.key?(:additional_properties)
  @annotations = args[:annotations] if args.key?(:annotations)
  @default = args[:default] if args.key?(:default)
  @description = args[:description] if args.key?(:description)
  @enum = args[:enum] if args.key?(:enum)
  @enum_descriptions = args[:enum_descriptions] if args.key?(:enum_descriptions)
  @format = args[:format] if args.key?(:format)
  @id = args[:id] if args.key?(:id)
  @items = args[:items] if args.key?(:items)
  @location = args[:location] if args.key?(:location)
  @maximum = args[:maximum] if args.key?(:maximum)
  @minimum = args[:minimum] if args.key?(:minimum)
  @pattern = args[:pattern] if args.key?(:pattern)
  @properties = args[:properties] if args.key?(:properties)
  @read_only = args[:read_only] if args.key?(:read_only)
  @repeated = args[:repeated] if args.key?(:repeated)
  @required = args[:required] if args.key?(:required)
  @type = args[:type] if args.key?(:type)
  @variant = args[:variant] if args.key?(:variant)
end