Sha256: 6b1f6b624336846d641b5d59c52553a8bf4618c671af08246673ad4c3a990570
Contents?: true
Size: 624 Bytes
Versions: 6
Compression:
Stored size: 624 Bytes
Contents
module PowerShop module Middleware # Public: class find shopping cart from session for existing user # or create new shopping cart in session class ShoppingCart def initialize(app) @app = app end def call(env) unless env['PATH_INFO'] =~ %r{^/assets/} env['shopping_cart'] ||= get_or_crete_cart(env['rack.session']) end @app.call(env) end def get_or_crete_cart(session) cart = ::ShoppingCart.find_or_create_by_id(session[:shopping_cart_id]) session[:shopping_cart_id] = cart.id cart end end end end
Version data entries
6 entries across 6 versions & 1 rubygems