Module: DatadogAPIClient::V1::WidgetDefinition

Extended by:
BaseOneOfModel, BaseOneOfModelNoDiscriminator
Defined in:
lib/datadog_api_client/v1/models/widget_definition.rb

Overview

Class Attribute Summary collapse

Attributes included from BaseOneOfModel

#_unparsed

Class Method Summary collapse

Class Attribute Details

._unparsedObject

Returns the value of attribute _unparsed.



23
24
25
# File 'lib/datadog_api_client/v1/models/widget_definition.rb', line 23

def _unparsed
  @_unparsed
end

Class Method Details

.build(data) ⇒ Object

Builds the object

Parameters:

  • data (Mixed)

    Data to be matched against the list of oneOf items

Returns:

  • (Object)

    Returns the model or the data itself



63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
# File 'lib/datadog_api_client/v1/models/widget_definition.rb', line 63

def build(data)
  # Go through the list of oneOf items and attempt to identify the appropriate one.
  # Note:
  # - We do not attempt to check whether exactly one item matches.
  # - No advanced validation of types in some cases (e.g. "x: { type: string }" will happily match { x: 123 })
  #   due to the way the deserialization is made in the base_object template (it just casts without verifying).
  # - TODO: scalar values are de facto behaving as if they were nullable.
  # - TODO: logging when debugging is set.
  openapi_one_of.each do |klass|
    begin
      next if klass == :AnyType # "nullable: true"
      typed_data = find_and_cast_into_type(klass, data)
      next if typed_data._unparsed
      return typed_data if typed_data
    rescue # rescue all errors so we keep iterating even if the current item lookup raises
    end
  end

  if openapi_one_of.include?(:AnyType)
    data
  else
    self._unparsed = true
    DatadogAPIClient::V1::UnparsedObject.new(data)
  end

end

.openapi_one_ofObject

List of class defined in oneOf (OpenAPI v3)



26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
# File 'lib/datadog_api_client/v1/models/widget_definition.rb', line 26

def openapi_one_of
  [
    :'AlertGraphWidgetDefinition',
    :'AlertValueWidgetDefinition',
    :'ChangeWidgetDefinition',
    :'CheckStatusWidgetDefinition',
    :'DistributionWidgetDefinition',
    :'EventStreamWidgetDefinition',
    :'EventTimelineWidgetDefinition',
    :'FreeTextWidgetDefinition',
    :'FunnelWidgetDefinition',
    :'GeomapWidgetDefinition',
    :'GroupWidgetDefinition',
    :'HeatMapWidgetDefinition',
    :'HostMapWidgetDefinition',
    :'IFrameWidgetDefinition',
    :'ImageWidgetDefinition',
    :'ListStreamWidgetDefinition',
    :'LogStreamWidgetDefinition',
    :'MonitorSummaryWidgetDefinition',
    :'NoteWidgetDefinition',
    :'QueryValueWidgetDefinition',
    :'SLOWidgetDefinition',
    :'ScatterPlotWidgetDefinition',
    :'ServiceMapWidgetDefinition',
    :'ServiceSummaryWidgetDefinition',
    :'SunburstWidgetDefinition',
    :'TableWidgetDefinition',
    :'TimeseriesWidgetDefinition',
    :'ToplistWidgetDefinition',
    :'TreeMapWidgetDefinition'
  ]
end