Class: APIGatewayDSL::Integration::Mock

Inherits:
APIGatewayDSL::Integration show all
Defined in:
lib/api_gateway_dsl/integration/mock.rb

Instance Attribute Summary collapse

Attributes inherited from APIGatewayDSL::Integration

#context, #mappings, #method, #url

Instance Method Summary collapse

Constructor Details

#initialize(_, status_code, **options, &block) ⇒ Mock

Returns a new instance of Mock.



7
8
9
10
11
12
13
# File 'lib/api_gateway_dsl/integration/mock.rb', line 7

def initialize(_, status_code, **options, &block)
  super

  @status_code = status_code

  DSL::IntegrationNode.new(self, &block)
end

Instance Attribute Details

#status_codeObject (readonly)

Returns the value of attribute status_code.



5
6
7
# File 'lib/api_gateway_dsl/integration/mock.rb', line 5

def status_code
  @status_code
end

#templatesObject (readonly)

Returns the value of attribute templates.



5
6
7
# File 'lib/api_gateway_dsl/integration/mock.rb', line 5

def templates
  @templates
end

Instance Method Details

#as_jsonObject

rubocop:disable Metrics/MethodLength



15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# File 'lib/api_gateway_dsl/integration/mock.rb', line 15

def as_json # rubocop:disable Metrics/MethodLength
  super.tap do |result|
    result.delete(:contentHandling)

    result[:type] = 'mock'

    result[:requestTemplates] = {
      'application/json' => "        {\n          \"statusCode\": \#{@status_code}\n        }\n      EOS\n    }\n  end\nend\n".strip_heredoc