Sha256: ddcd48ea8cf51aadaaecab63f1030bd94bec7ab2569793c5cd333612dde92340

Contents?: true

Size: 729 Bytes

Versions: 4

Compression:

Stored size: 729 Bytes

Contents

require 'diesel/swagger/node'
require 'diesel/swagger/operation'

module Diesel
  module Swagger
    class Path < Node
      attr_reader :id
      alias :path_name :id

      REQUEST_METHODS = [:get, :put, :post, :delete, :options, :head, :patch]

      REQUEST_METHODS.each do |m|
        attribute m, validate: true
      end

      list :parameters, validate: true

      def initialize(id)
        super()
        @id = id
      end

      def operations
        REQUEST_METHODS.map { |m| __send__(m) }.compact
      end

      def operations_map
        REQUEST_METHODS.reduce({}) do |m, method|
          if op = __send__(method)
            m[method] = op
          end
          m
        end
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
diesel-api-dsl-0.1.5 lib/diesel/swagger/path.rb
diesel-api-dsl-0.1.3 lib/diesel/swagger/path.rb
diesel-api-dsl-0.1.2 lib/diesel/swagger/path.rb
diesel-api-dsl-0.1.1 lib/diesel/swagger/path.rb