Sha256: 0fb057fea2ae81b41e9516f4434c50ec5eb4122fa0d3a422d204003135d3a52d

Contents?: true

Size: 635 Bytes

Versions: 9

Compression:

Stored size: 635 Bytes

Contents

require_relative "./parameters_in_type"

module Swagger
  class DSL < Hash
    class Parameters < Array
      def initialize(default_required:, &block)
        @default_required = default_required
        instance_eval(&block)
      end

      %i[path query header cookie].each do |in_type|
        define_method(in_type) do |*args, &block|
          if args.empty?
            ParametersInType.new(self, in_type, { default_required: @default_required }, &block)
          else
            self << Parameter.new({ default_required: @default_required }, *args, in: in_type, &block)
          end
        end
      end
    end
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
swagger-dsl-2.0.5 lib/swagger/dsl/parameters.rb
swagger-dsl-2.0.4 lib/swagger/dsl/parameters.rb
swagger-dsl-2.0.3 lib/swagger/dsl/parameters.rb
swagger-dsl-2.0.2 lib/swagger/dsl/parameters.rb
swagger-dsl-2.0.1 lib/swagger/dsl/parameters.rb
swagger-dsl-2.0.0 lib/swagger/dsl/parameters.rb
swagger-dsl-1.5.1 lib/swagger/dsl/parameters.rb
swagger-dsl-1.5.0 lib/swagger/dsl/parameters.rb
swagger-dsl-1.4.0 lib/swagger/dsl/parameters.rb