Sha256: c28a5453079e9d431bab15dee16f41104b6f227ef961769b8c6dc16482a4077e

Contents?: true

Size: 611 Bytes

Versions: 14

Compression:

Stored size: 611 Bytes

Contents

# frozen_string_literal: true

module SwaggerDocsGenerator
  module Actions
    # Create object swagger Schema
    class Schema
      def initialize(&block)
        @definition = nil
        @type = 'array'
        instance_eval(&block) if block_given?
      end

      def to_hash
        element = { type: @type }
        element.merge!(items: { '$ref': @definition })
      end

      private

      attr_reader :type, :definition

      def type(text)
        @type = text
      end

      def definition(text)
        @definition = '#/definitions/' + text.tr(' ', '_').camelize
      end
    end
  end
end

Version data entries

14 entries across 14 versions & 1 rubygems

Version Path
swagger_docs_generator-0.5.1 lib/swagger_docs_generator/parser/actions/schema.rb
swagger_docs_generator-0.5.0.pre.42 lib/swagger_docs_generator/parser/actions/schema.rb
swagger_docs_generator-0.4.0 lib/swagger_docs_generator/parser/actions/schema.rb
swagger_docs_generator-0.3.6 lib/swagger_docs_generator/parser/actions/schema.rb
swagger_docs_generator-0.3.6.pre.34 lib/swagger_docs_generator/parser/actions/schema.rb
swagger_docs_generator-0.3.5 lib/swagger_docs_generator/parser/actions/schema.rb
swagger_docs_generator-0.3.5.pre.31 lib/swagger_docs_generator/parser/actions/schema.rb
swagger_docs_generator-0.3.4.pre.26 lib/swagger_docs_generator/parser/actions/schema.rb
swagger_docs_generator-0.3.4 lib/swagger_docs_generator/parser/actions/schema.rb
swagger_docs_generator-0.3.4.pre.23 lib/swagger_docs_generator/parser/actions/schema.rb
swagger_docs_generator-0.3.3 lib/swagger_docs_generator/parser/actions/schema.rb
swagger_docs_generator-0.3.2 lib/swagger_docs_generator/parser/actions/schema.rb
swagger_docs_generator-0.3.1 lib/swagger_docs_generator/parser/actions/schema.rb
swagger_docs_generator-0.3.0.pre.19 lib/swagger_docs_generator/parser/actions/schema.rb