Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
e / lib / e-core / instance / session.rb
Size: Mime:
class E

  # a simple wrapper around Rack::Session
  def session
    request.session
  end

  # @example
  #    flash[:alert] = 'Item Deleted'
  #    p flash[:alert] #=> "Item Deleted"
  #    p flash[:alert] #=> nil
  def flash
    @__e__flash_proxy ||= Class.new do

      def initialize session = {}
        @session = session
      end

      def []= key, val
        @session[key(key)] = val
      end

      def [] key
        return unless val = @session[key = key(key)]
        @session.delete key
        val
      end

      def key key
        '__e__session__flash__-' << key.to_s
      end
    end.new(session)
  end
end