Sha256: b16f0496d461945af7983a8cb477e9deac39f612b250b9023256e967cd3b8907

Contents?: true

Size: 720 Bytes

Versions: 5

Compression:

Stored size: 720 Bytes

Contents

class Request
  # The request method of a request
  class Method
    include Adamantium, Concord.new(:verb)

    private_class_method :new

    ALL = []
    ALL << HEAD   = new('HEAD')
    ALL << POST   = new('POST')
    ALL << GET    = new('GET')
    ALL << PUT    = new('PUT')
    ALL << DELETE = new('DELETE')
    ALL.freeze

    # Return verb
    #
    # @return [String]
    #
    # @api private
    #
    attr_reader :verb

    INDEX = ALL.each_with_object({}) do |method, index|
      index[method.verb]=method
    end.freeze

    # Return request method
    #
    # @param [String] verb
    #
    # @return [Method]
    #
    # @api private
    #
    def self.get(verb)
      INDEX.fetch(verb)
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
request-0.0.6 lib/request/method.rb
request-0.0.5 lib/request/method.rb
request-0.0.4 lib/request/method.rb
request-0.0.3 lib/request/method.rb
request-0.0.2 lib/request/method.rb