blob: d0811254cb98f4b61b7b28b3463be4d9fb48f196 (
plain) (
blame)
| 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
 | module ActionController
  class ActionControllerError < StandardError #:nodoc:
  end
  class SessionRestoreError < ActionControllerError #:nodoc:
  end
  class RenderError < ActionControllerError #:nodoc:
  end
  class RoutingError < ActionControllerError #:nodoc:
    attr_reader :failures
    def initialize(message, failures=[])
      super(message)
      @failures = failures
    end
  end
  class MethodNotAllowed < ActionControllerError #:nodoc:
    attr_reader :allowed_methods
    def initialize(*allowed_methods)
      super("Only #{allowed_methods.to_sentence(:locale => :en)} requests are allowed.")
      @allowed_methods = allowed_methods
    end
    def allowed_methods_header
      allowed_methods.map { |method_symbol| method_symbol.to_s.upcase } * ', '
    end
    def handle_response!(response)
      response.headers['Allow'] ||= allowed_methods_header
    end
  end
  
  class NotImplemented < MethodNotAllowed #:nodoc:
  end
  class UnknownController < ActionControllerError #:nodoc:
  end
  class MissingFile < ActionControllerError #:nodoc:
  end
  class RenderError < ActionControllerError #:nodoc:
  end
  class SessionOverflowError < ActionControllerError #:nodoc:
    DEFAULT_MESSAGE = 'Your session data is larger than the data column in which it is to be stored. You must increase the size of your data column if you intend to store large data.'
    def initialize(message = nil)
      super(message || DEFAULT_MESSAGE)
    end
  end
  class UnknownHttpMethod < ActionControllerError #:nodoc:
  end
end
 |