Sha256: e595e00fd2fc1b9678b7db937e6264b51b62251b0c6a322b3473c687f0097b8e

Contents?: true

Size: 1.95 KB

Versions: 13

Compression:

Stored size: 1.95 KB

Contents

require 'json'

module Aws
  module Resources
    class Documenter

      autoload :BaseOperationDocumenter, 'aws-sdk-resources/documenter/base_operation_documenter'
      autoload :HasOperationDocumenter, 'aws-sdk-resources/documenter/has_operation_documenter'
      autoload :HasManyOperationDocumenter, 'aws-sdk-resources/documenter/has_many_operation_documenter'
      autoload :OperationDocumenter, 'aws-sdk-resources/documenter/operation_documenter'
      autoload :ResourceOperationDocumenter, 'aws-sdk-resources/documenter/resource_operation_documenter'
      autoload :WaiterOperationDocumenter, 'aws-sdk-resources/documenter/waiter_operation_documenter'

      class << self

        include Seahorse::Model::Shapes

        def apply_customizations
          document_s3_object_upload_file_additional_options
        end

        private

        def document_s3_object_upload_file_additional_options
          input = Aws::S3::Client.api.operation(:create_multipart_upload).input
          opts = input.shape.member_names - [:bucket, :key]
          tags = opts.map do |opt|
            ref = input.shape.member(opt)
            type = case ref.shape
            when StructureShape then 'Structure'
            when ListShape then 'Array'
            when MapShape then 'Hash'
            when StringShape then 'String'
            when IntegerShape then 'Integer'
            when FloatShape then 'Float'
            when BooleanShape then 'Boolean'
            when TimestampShape then 'Time'
            when BlobShape then 'IO'
            else
              raise "unhandled shape class `#{ref.shape.class.name}'"
            end
            docs = ref.documentation || ref.shape.documentation
            "@option options [#{type}] :#{opt} #{docs}"
          end
          tags = YARD::DocstringParser.new.parse(tags).to_docstring.tags
          m = YARD::Registry['Aws::S3::Object#upload_file']
          tags.each { |tag| m.add_tag(tag) }
        end

      end
    end
  end
end

Version data entries

13 entries across 13 versions & 1 rubygems

Version Path
aws-sdk-resources-2.1.13 lib/aws-sdk-resources/documenter.rb
aws-sdk-resources-2.1.12 lib/aws-sdk-resources/documenter.rb
aws-sdk-resources-2.1.11 lib/aws-sdk-resources/documenter.rb
aws-sdk-resources-2.1.10 lib/aws-sdk-resources/documenter.rb
aws-sdk-resources-2.1.9 lib/aws-sdk-resources/documenter.rb
aws-sdk-resources-2.1.8 lib/aws-sdk-resources/documenter.rb
aws-sdk-resources-2.1.7 lib/aws-sdk-resources/documenter.rb
aws-sdk-resources-2.1.5 lib/aws-sdk-resources/documenter.rb
aws-sdk-resources-2.1.4 lib/aws-sdk-resources/documenter.rb
aws-sdk-resources-2.1.3 lib/aws-sdk-resources/documenter.rb
aws-sdk-resources-2.1.2 lib/aws-sdk-resources/documenter.rb
aws-sdk-resources-2.1.1 lib/aws-sdk-resources/documenter.rb
aws-sdk-resources-2.1.0 lib/aws-sdk-resources/documenter.rb