This file is indexed.

/usr/lib/ruby/vendor_ruby/ramaze/helper/simple_captcha.rb is in ruby-ramaze 2012.12.08-3.

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
module Ramaze
  module Helper
    # Produce very simple question/answer pairs.
    #
    # The default is a trivial mathematical problem.
    #
    # Usage (trait is optional):
    #
    #     class RegisterController < Ramaze::Controller
    #       trait :captcha => lambda{
    #         ["the answer to everything", "42"]
    #       }
    #
    #       def index
    #         %(
    #           <form action="#{r(:answer}">
    #             What is #{simple_captcha}?
    #             <input type="text" name="answer" />"
    #             <input type="submit" />
    #           </form>
    #         ).strip
    #       end
    #
    #       def answer
    #         check_captcha(request[:answer])
    #       end
    #     end
    #
    module SimpleCaptcha
      include Ramaze::Traited

      NUMBERS = [5, 10, 15, 20]

      # lambda should return question and answer in [question, answer] form
      trait :captcha => lambda{
        ns = Array.new(2){ NUMBERS.sort_by{rand}.first }.sort
        op = rand > 0.42 ? [ns[0], :+, ns[1]] : [ns[1], :-, ns[0]]

        question = op.join(' ')
        answer   = op[0].send(op[1], op[2])

        [question, answer]
      }

      # Call the trait[:captcha] and store question/answer in session
      def simple_captcha
        question, answer  = ancestral_trait[:captcha].call
        session[:CAPTCHA] = { :question => question, :answer => answer.to_s }

        question
      end

      # check the given +answer+ against the answer stored in the session.
      def check_captcha(answer)
        return false unless captcha = session[:CAPTCHA]

        answer.to_s.strip == captcha[:answer].to_s
      end
    end # SimpleCaptcha
  end # Helper
end # Ramaze