Sha256: 1a200658b64a29831d38dcf8b2cb565d3d36fb3927bcbf41fa3ea8aeb27db1e8

Contents?: true

Size: 1.17 KB

Versions: 13

Compression:

Stored size: 1.17 KB

Contents

# frozen-string-literal: true

#
class Roda
  module RodaPlugins
    # The cookies plugin adds response methods for handling cookies.
    # Currently, you can set cookies with +set_cookie+ and delete cookies
    # with +delete_cookie+:
    #
    #   response.set_cookie('foo', 'bar')
    #   response.delete_cookie('foo')
    module Cookies
      module ResponseMethods
        # Modify the headers to include a Set-Cookie value that
        # deletes the cookie.  A value hash can be provided to
        # override the default one used to delete the cookie.
        # Example:
        #
        #   response.delete_cookie('foo')
        #   response.delete_cookie('foo', :domain=>'example.org')
        def delete_cookie(key, value = {})
          ::Rack::Utils.delete_cookie_header!(@headers, key, value)
        end

        # Set the cookie with the given key in the headers.
        #
        #   response.set_cookie('foo', 'bar')
        #   response.set_cookie('foo', :value=>'bar', :domain=>'example.org')
        def set_cookie(key, value)
          ::Rack::Utils.set_cookie_header!(@headers, key, value)
        end
      end
    end

    register_plugin(:cookies, Cookies)
  end
end

Version data entries

13 entries across 13 versions & 1 rubygems

Version Path
roda-2.23.0 lib/roda/plugins/cookies.rb
roda-2.22.0 lib/roda/plugins/cookies.rb
roda-2.21.0 lib/roda/plugins/cookies.rb
roda-2.20.0 lib/roda/plugins/cookies.rb
roda-2.19.0 lib/roda/plugins/cookies.rb
roda-2.18.0 lib/roda/plugins/cookies.rb
roda-2.17.0 lib/roda/plugins/cookies.rb
roda-2.16.0 lib/roda/plugins/cookies.rb
roda-2.15.0 lib/roda/plugins/cookies.rb
roda-2.14.0 lib/roda/plugins/cookies.rb
roda-2.13.0 lib/roda/plugins/cookies.rb
roda-2.12.0 lib/roda/plugins/cookies.rb
roda-2.11.0 lib/roda/plugins/cookies.rb