Sha256: cb4d9fc576b91bb54ff4cd8950670e3332626bd7d52b27e4654e32d2e072e987

Contents?: true

Size: 880 Bytes

Versions: 20

Compression:

Stored size: 880 Bytes

Contents

require_relative "./util"
require_relative "./path_item"
require_relative "./schema_accessor"
require_relative "./parameters"
require_relative "./request_body"
require_relative "./responses"

module Swagger
  class Schema
    class Operation
      extend SchemaAccessor

      def initialize(schema, path_item = nil)
        @schema = schema
        @path_item = path_item
      end

      define_schema_accessor %i[tags summary description externalDocs operationId deprecated callbacks security]

      def parameters
        Parameters.new((@path_item&.parameters || []) + (Util.try_hash(@schema, :parameters) || []))
      end

      def requestBody
        RequestBody.new(Util.try_hash(@schema, :requestBody))
      end

      alias_method :request_body, :requestBody

      def responses
        Responses.new(Util.try_hash(@schema, :responses))
      end
    end
  end
end

Version data entries

20 entries across 20 versions & 1 rubygems

Version Path
swagger-serializer-0.9.1 lib/swagger/schema/operation.rb
swagger-serializer-0.9.0 lib/swagger/schema/operation.rb
swagger-serializer-0.8.3 lib/swagger/schema/operation.rb
swagger-serializer-0.8.2 lib/swagger/schema/operation.rb
swagger-serializer-0.8.1 lib/swagger/schema/operation.rb
swagger-serializer-0.8.0 lib/swagger/schema/operation.rb
swagger-serializer-0.7.0 lib/swagger/schema/operation.rb
swagger-serializer-0.6.2 lib/swagger/schema/operation.rb
swagger-serializer-0.6.1 lib/swagger/schema/operation.rb
swagger-serializer-0.6.0 lib/swagger/schema/operation.rb
swagger-serializer-0.5.2 lib/swagger/schema/operation.rb
swagger-serializer-0.5.1 lib/swagger/schema/operation.rb
swagger-serializer-0.5.0 lib/swagger/schema/operation.rb
swagger-serializer-0.4.1 lib/swagger/schema/operation.rb
swagger-serializer-0.4.0 lib/swagger/schema/operation.rb
swagger-serializer-0.3.0 lib/swagger/schema/operation.rb
swagger-serializer-0.2.1 lib/swagger/schema/operation.rb
swagger-serializer-0.2.0 lib/swagger/schema/operation.rb
swagger-serializer-0.1.1 lib/swagger/schema/operation.rb
swagger-serializer-0.1.0 lib/swagger/schema/operation.rb