Sha256: 7e0cedff63f8a0b99e4d684268f2f0e1a65940e9713b4906bb08c7883f3423f7

Contents?: true

Size: 833 Bytes

Versions: 14

Compression:

Stored size: 833 Bytes

Contents

require 'rack'

module RackDirect

  class DirectResponse < Rack::MockResponse

    include Net::HTTPHeader

    def initialize(status, headers, body, errors=StringIO.new(""))
      super(status, headers, body, errors)
      # Set up @header to make methods in Net::HTTPHeader work
      @header = {}
      @headers.each do |k,v|
        @header[k.downcase] = [v]
      end
    end

    def code
      self.status.to_s
    end

    def message
      if Net::HTTPResponse::CODE_TO_OBJ[self.code]
        Net::HTTPResponse::CODE_TO_OBJ[self.code].to_s.match(/Net::HTTP(.*)/).captures[0].underscore.humanize.titleize
      else
        case self.code
        when /^2/
          'OK'
        when /^4/
          'Not Found'
        when /^3/
          'Redirect'
        else
          'Error'
        end
      end
    end

  end

end

Version data entries

14 entries across 14 versions & 1 rubygems

Version Path
rack_direct-0.1.15 lib/rack_direct/direct_response.rb
rack_direct-0.1.14 lib/rack_direct/direct_response.rb
rack_direct-0.1.13 lib/rack_direct/direct_response.rb
rack_direct-0.1.12 lib/rack_direct/direct_response.rb
rack_direct-0.1.11 lib/rack_direct/direct_response.rb
rack_direct-0.1.10 lib/rack_direct/direct_response.rb
rack_direct-0.1.9 lib/rack_direct/direct_response.rb
rack_direct-0.1.8 lib/rack_direct/direct_response.rb
rack_direct-0.1.7 lib/rack_direct/direct_response.rb
rack_direct-0.1.6 lib/rack_direct/direct_response.rb
rack_direct-0.1.5 lib/rack_direct/direct_response.rb
rack_direct-0.1.4 lib/rack_direct/direct_response.rb
rack_direct-0.1.3 lib/rack_direct/direct_response.rb
rack_direct-0.1.2 lib/rack_direct/direct_response.rb