This file is indexed.

/usr/lib/ruby/1.8/ramaze/helper/flash.rb is in libramaze-ruby1.8 2010.06.18-2.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
#          Copyright (c) 2008 Michael Fellinger m.fellinger@gmail.com
# All files in this distribution are subject to the terms of the Ruby license.

module Ramaze

  # The purpose of this class is to provide an easy way of setting/retrieving
  # from the current flash.
  #
  # Flash is a way to keep a temporary pairs of keys and values for the duration
  # of two requests, the current and following.
  #
  # Very vague Example:
  #
  # On the first request, for example on registering:
  #
  #   flash[:error] = "You should reconsider your username, it's taken already"
  #   redirect R(self, :register)
  #
  # This is the request from the redirect:
  #
  #   do_stuff if flash[:error]
  #
  # On the request after this, flash[:error] is gone.

  module Helper
    module Flash
      include Innate::Traited

      trait :flashbox => "<div class='flash' id='flash_%key'>%value</div>"

      # answers with Current.session.flash
      def flash
        Current.session.flash
      end

      # Use in your template to display all flash messages that may be stored.
      # For example, given you stored:
      #
      #   flash # => { :error => 'Pleae enter your name'
      #                :info => 'Do you see the fnords?' }
      #
      # Then a flashbox would display:
      #
      #   <div class='flash' id='flash_error'>Please enter your name</div>
      #   <div class='flash' id='flash_info'>Do you see the fnords?</div>
      #
      # This is designed to be customized permanently or per usage:
      #
      #   flashbox("<div class='flash_%key'>%value</div>")
      #
      # Where any occurrence of %key and %value will be replaced by the actual
      # contents of each element of flash
      def flashbox(tag = ancestral_trait[:flashbox])
        flash.map{|key, *values|
          values.flatten.map do |value|
            tag.gsub(/%key/, key.to_s).gsub(/%value/, value.to_s)
          end
        }.flatten.join("\n")
      end
    end
  end
end