Sha256: 43492f319112a2dd66bac659256639a2794c9db1eae45554421b96bc815d3537

Contents?: true

Size: 1.43 KB

Versions: 115

Compression:

Stored size: 1.43 KB

Contents

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

115 entries across 115 versions & 4 rubygems

Version Path
awspec-1.15.1 lib/awspec/generator/doc/type.rb
awspec-1.15.0 lib/awspec/generator/doc/type.rb
awspec-1.14.1 lib/awspec/generator/doc/type.rb
awspec-1.14.0 lib/awspec/generator/doc/type.rb
awspec-1.13.0 lib/awspec/generator/doc/type.rb
awspec-1.12.7 lib/awspec/generator/doc/type.rb
awspec-1.12.6 lib/awspec/generator/doc/type.rb
awspec-1.12.5 lib/awspec/generator/doc/type.rb
awspec-1.12.4 lib/awspec/generator/doc/type.rb
awspec-1.12.3 lib/awspec/generator/doc/type.rb
awspec-1.12.2 lib/awspec/generator/doc/type.rb
awspec-1.12.1 lib/awspec/generator/doc/type.rb
awspec-1.12.0 lib/awspec/generator/doc/type.rb
awspec-1.11.1 lib/awspec/generator/doc/type.rb
awspec-1.11.0 lib/awspec/generator/doc/type.rb
awspec-1.10.0 lib/awspec/generator/doc/type.rb
awspec-1.9.0 lib/awspec/generator/doc/type.rb
awspec-1.8.0 lib/awspec/generator/doc/type.rb
awspec-1.7.0 lib/awspec/generator/doc/type.rb
awspec-1.6.1 lib/awspec/generator/doc/type.rb