Sha256: c3d0b1cb744bf767cece1f2e9663e02ab84322e57d4c71bb157582348a6d3f9e

Contents?: true

Size: 1.44 KB

Versions: 14

Compression:

Stored size: 1.44 KB

Contents

# frozen_string_literal: true

module Awspec::Generator
  module Doc
    module Type
      # rubocop:disable Metrics/MethodLength
      def self.generate_doc
        Aws.config[:stub_responses] = true
        types = Awspec::Helper::Type::TYPES
        types.delete('base')
        links = types.sort.map do |type|
          "[#{type}](##{type})"
        end
        links.push('[account](#account)') # add account
        header = <<-'EOF'
# Resource Types

<%= links.join("\n| ") %>

EOF
        doc = ERB.new(header, nil, '-').result(binding)

        types.sort.map do |type|
          doc += eval "Awspec::Generator::Doc::Type::#{type.camelize}.new.generate_doc"
        end

        # account and attributes
        attributes = Awspec::Helper::Type::ACCOUNT_ATTRIBUTES

        doc += <<-'EOF'
# Account and Attributes

EOF
        doc += Awspec::Generator::Doc::Type::Account.new.generate_doc

        doc += <<-'EOF'
## :unlock: Another way: Test with account_attribute type

EOF

        doc += Awspec::Generator::Doc::Type::AccountAttribute.new.generate_doc

        doc += <<-'EOF'
## :unlock: Another way: Test with separated resource types

EOF

        links = attributes.map do |type|
          "[#{type}](##{type})"
        end

        doc += "#{links.join("\n| ")}\n"

        attributes.map do |type|
          doc += eval "Awspec::Generator::Doc::Type::#{type.camelize}.new.generate_doc"
        end

        doc.sub(/\n*\z/, '')
      end
    end
  end
end

Version data entries

14 entries across 14 versions & 1 rubygems

Version Path
awspec-1.32.0 lib/awspec/generator/doc/type.rb
awspec-1.31.0 lib/awspec/generator/doc/type.rb
awspec-1.30.0 lib/awspec/generator/doc/type.rb
awspec-1.29.3 lib/awspec/generator/doc/type.rb
awspec-1.29.2 lib/awspec/generator/doc/type.rb
awspec-1.29.1 lib/awspec/generator/doc/type.rb
awspec-1.29.0 lib/awspec/generator/doc/type.rb
awspec-1.28.2 lib/awspec/generator/doc/type.rb
awspec-1.28.1 lib/awspec/generator/doc/type.rb
awspec-1.28.0 lib/awspec/generator/doc/type.rb
awspec-1.27.1 lib/awspec/generator/doc/type.rb
awspec-1.27.0 lib/awspec/generator/doc/type.rb
awspec-1.26.0 lib/awspec/generator/doc/type.rb
awspec-1.25.2 lib/awspec/generator/doc/type.rb