Module: Scorpio::Google::RestMethod

Includes:
OpenAPI::Operation
Defined in:
lib/scorpio/google_api_document.rb,
lib/scorpio/google_api_document.rb

Constant Summary collapse

Request =
properties['request']
Response =
properties['response']

Instance Attribute Summary

Attributes included from OpenAPI::Operation::Configurables

#accept, #authorization, #base_url, #faraday_adapter, #faraday_builder, #logger, #request_headers, #user_agent

Instance Method Summary collapse

Methods included from OpenAPI::Operation

#build_request, #delete?, #each_link_page, #get?, #head?, #human_id, #inferred_parameters, #inherited_parameters, #oa_response, #options?, #patch?, #path_template, #post?, #put?, #run, #run_ur, #trace?, #uri_template, #v2?, #v3?

Instance Method Details

#http_methodObject



103
104
105
# File 'lib/scorpio/google_api_document.rb', line 103

def http_method
  httpMethod
end

#openapi_documentObject



107
108
109
# File 'lib/scorpio/google_api_document.rb', line 107

def openapi_document
  rest_description
end

#operationIdObject



127
128
129
# File 'lib/scorpio/google_api_document.rb', line 127

def operationId
  id
end

#parametersObject



88
89
90
91
92
93
94
95
96
97
# File 'lib/scorpio/google_api_document.rb', line 88

def parameters
  (self['parameters'] || {}).map do |name, schema|
    param = {'name' => name}
    param['in'] = schema.location if schema.key?('location')
    param['schema'] = schema
    #param['description'] = schema.description if schema.key?('description')
    #param['required'] = schema.required if schema.key?('required')
    param
  end
end

#path_template_strObject



84
85
86
# File 'lib/scorpio/google_api_document.rb', line 84

def path_template_str
  path
end

#request_media_typeObject



99
100
101
# File 'lib/scorpio/google_api_document.rb', line 99

def request_media_type
  'application/json'
end

#request_schema(media_type: nil) ⇒ Object

Parameters:

  • media_type (defaults to: nil)

    unused



132
133
134
# File 'lib/scorpio/google_api_document.rb', line 132

def request_schema(media_type: nil)
  request
end

#request_schemasObject



136
137
138
# File 'lib/scorpio/google_api_document.rb', line 136

def request_schemas
  request ? [request] : []
end

#resource_namesObject



79
80
81
82
# File 'lib/scorpio/google_api_document.rb', line 79

def resource_names
  # resource name is the property name where a RestResource is. kind of hax but it works.
  jsi_parent_nodes.select { |n| n.is_a?(RestResource) }.map { |r| r.jsi_ptr.tokens.last }
end

#response_schema(status: nil, media_type: nil) ⇒ Object



140
141
142
# File 'lib/scorpio/google_api_document.rb', line 140

def response_schema(status: nil, media_type: nil)
  response
end

#response_schemasObject



144
145
146
# File 'lib/scorpio/google_api_document.rb', line 144

def response_schemas
  response ? [response] : []
end

#rest_descriptionObject



111
112
113
# File 'lib/scorpio/google_api_document.rb', line 111

def rest_description
  jsi_parent_nodes.detect { |p| p.is_a?(RestDescription) }
end

#schemeObject



115
116
117
# File 'lib/scorpio/google_api_document.rb', line 115

def scheme
  nil
end

#serverObject



119
120
121
# File 'lib/scorpio/google_api_document.rb', line 119

def server
  nil
end

#server_variablesObject



123
124
125
# File 'lib/scorpio/google_api_document.rb', line 123

def server_variables
  nil
end

#tagged?(tag_name) ⇒ Boolean

Returns:

  • (Boolean)


75
76
77
# File 'lib/scorpio/google_api_document.rb', line 75

def tagged?(tag_name)
  resource_names.include?(tag_name)
end