Sha256: 4e2e6206dbb34466c78b38dfcfa29ab2a039f027c3ae75f8aef1a122d2d3bb6f

Contents?: true

Size: 923 Bytes

Versions: 2

Compression:

Stored size: 923 Bytes

Contents

class Rack::Response
  def cookies
    cookies = {}
    header['Set-Cookie'].lines.collect { |line| line.scan(/([\.\w]+)=([\.\w\/]+)/) }.each do |cookie_definition_array|
      name_value_array = cookie_definition_array.delete_at(0)
      name = name_value_array.first
      value = name_value_array.last
      data = cookie_definition_array.collect { |pair| [pair[0].to_sym, pair[1]] }.to_h
      cookies[name] = {value: value}.merge(data)
    end
    cookies
  end

  def cookies_as_hash
    cookies = {}
    header['Set-Cookie'].lines.collect { |line| line.scan(/([\.\w]+)=([\.\w]+)/) }.each do |cookie_definition_array|
      name_value_array = cookie_definition_array.delete_at(0)
      name = name_value_array.first
      value = name_value_array.last
      data = cookie_definition_array.collect { |pair| [pair[0].to_sym, pair[1]] }.to_h
      cookies[name] = {value: value}.merge(data)
    end
    cookies
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
sitehub-0.4.2 spec/support/patch/rack/response.rb
sitehub-0.4.1 spec/support/patch/rack/response.rb