Sha256: b8db08aab4d357431cf9b329334d8e8aa828c0b13cb0200d07fced2b086ea35d

Contents?: true

Size: 839 Bytes

Versions: 8

Compression:

Stored size: 839 Bytes

Contents

module RememberTokenHelpers
  def request_with_remember_token(remember_token)
    cookies = ActionDispatch::Request.new({}).cookie_jar
    if Clearance.configuration.signed_cookie
      cookies.signed[Clearance.configuration.cookie_name] = remember_token
    else
      cookies[Clearance.configuration.cookie_name] = remember_token
    end

    env = { clearance: Clearance::Session.new(cookies.request.env) }
    Rack::Request.new env
  end

  def request_without_remember_token
    request_with_remember_token nil
  end

  def remember_token_cookies
    set_cookie_header = headers["Set-Cookie"] || headers["set-cookie"]
    cookie_lines = Array(set_cookie_header).join("\n").lines.map(&:chomp)
    cookie_lines.select { |name| name =~ /^remember_token/ }
  end
end

RSpec.configure do |config|
  config.include RememberTokenHelpers
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
clearance-2.9.3 spec/support/request_with_remember_token.rb
clearance-2.9.2 spec/support/request_with_remember_token.rb
clearance-2.9.1 spec/support/request_with_remember_token.rb
clearance-2.9.0 spec/support/request_with_remember_token.rb
clearance-2.8.0 spec/support/request_with_remember_token.rb
clearance-2.7.2 spec/support/request_with_remember_token.rb
clearance-2.7.0 spec/support/request_with_remember_token.rb
clearance-2.6.2 spec/support/request_with_remember_token.rb