Class: APIGatewayDSL::Template::Collection

Inherits:
Array
  • Object
show all
Defined in:
lib/api_gateway_dsl/template/collection.rb

Instance Method Summary collapse

Constructor Details

#initialize(context) ⇒ Collection

Returns a new instance of Collection.



5
6
7
# File 'lib/api_gateway_dsl/template/collection.rb', line 5

def initialize(context)
  @fallback = Template.new_if_schema_present(context)
end

Instance Method Details

#as_jsonObject



22
23
24
# File 'lib/api_gateway_dsl/template/collection.rb', line 22

def as_json
  currents.index_by(&:content_type).transform_values(&:as_json)
end

#content_typesObject



9
10
11
# File 'lib/api_gateway_dsl/template/collection.rb', line 9

def content_types
  currents.map(&:content_type).uniq
end

#currentObject



13
14
15
# File 'lib/api_gateway_dsl/template/collection.rb', line 13

def current
  any? ? first : @fallback
end

#currentsObject

Array containing current or empty array



18
19
20
# File 'lib/api_gateway_dsl/template/collection.rb', line 18

def currents
  Array(current)
end

#parametersObject



26
27
28
# File 'lib/api_gateway_dsl/template/collection.rb', line 26

def parameters
  Parameter::Collection.new.concat(currents.map(&:parameter))
end