|
20 | 20 | require 'active_support/core_ext/object/conversions' |
21 | 21 | require 'active_support/core_ext/array/extract_options' |
22 | 22 | require 'active_support/core_ext/hash/deep_merge' |
| 23 | +require 'active_support/dependencies/autoload' |
23 | 24 | require 'grape/util/content_types' |
24 | 25 | require 'multi_json' |
25 | 26 | require 'multi_xml' |
|
30 | 31 | I18n.load_path << File.expand_path('../grape/locale/en.yml', __FILE__) |
31 | 32 |
|
32 | 33 | module Grape |
33 | | - autoload :API, 'grape/api' |
34 | | - autoload :Endpoint, 'grape/endpoint' |
| 34 | + extend ActiveSupport::Autoload |
35 | 35 |
|
36 | | - autoload :Route, 'grape/route' |
37 | | - autoload :Namespace, 'grape/namespace' |
| 36 | + eager_autoload do |
| 37 | + autoload :API |
| 38 | + autoload :Endpoint |
38 | 39 |
|
39 | | - autoload :Path, 'grape/path' |
| 40 | + autoload :Route |
| 41 | + autoload :Namespace |
40 | 42 |
|
41 | | - autoload :Cookies, 'grape/cookies' |
42 | | - autoload :Validations, 'grape/validations' |
43 | | - autoload :Request, 'grape/http/request' |
| 43 | + autoload :Path |
| 44 | + |
| 45 | + autoload :Cookies |
| 46 | + autoload :Validations |
| 47 | + autoload :Request, 'grape/http/request' |
| 48 | + end |
44 | 49 |
|
45 | 50 | module Http |
46 | | - autoload :Headers, 'grape/http/headers' |
| 51 | + extend ActiveSupport::Autoload |
| 52 | + eager_autoload do |
| 53 | + autoload :Headers |
| 54 | + end |
47 | 55 | end |
48 | 56 |
|
49 | 57 | module Exceptions |
50 | | - autoload :Base, 'grape/exceptions/base' |
51 | | - autoload :Validation, 'grape/exceptions/validation' |
52 | | - autoload :ValidationErrors, 'grape/exceptions/validation_errors' |
53 | | - autoload :MissingVendorOption, 'grape/exceptions/missing_vendor_option' |
54 | | - autoload :MissingMimeType, 'grape/exceptions/missing_mime_type' |
55 | | - autoload :MissingOption, 'grape/exceptions/missing_option' |
56 | | - autoload :InvalidFormatter, 'grape/exceptions/invalid_formatter' |
57 | | - autoload :InvalidVersionerOption, 'grape/exceptions/invalid_versioner_option' |
58 | | - autoload :UnknownValidator, 'grape/exceptions/unknown_validator' |
59 | | - autoload :UnknownOptions, 'grape/exceptions/unknown_options' |
60 | | - autoload :InvalidWithOptionForRepresent, 'grape/exceptions/invalid_with_option_for_represent' |
61 | | - autoload :IncompatibleOptionValues, 'grape/exceptions/incompatible_option_values' |
| 58 | + extend ActiveSupport::Autoload |
| 59 | + autoload :Base |
| 60 | + autoload :Validation |
| 61 | + autoload :ValidationErrors |
| 62 | + autoload :MissingVendorOption |
| 63 | + autoload :MissingMimeType |
| 64 | + autoload :MissingOption |
| 65 | + autoload :InvalidFormatter |
| 66 | + autoload :InvalidVersionerOption |
| 67 | + autoload :UnknownValidator |
| 68 | + autoload :UnknownOptions |
| 69 | + autoload :InvalidWithOptionForRepresent |
| 70 | + autoload :IncompatibleOptionValues |
62 | 71 | autoload :MissingGroupTypeError, 'grape/exceptions/missing_group_type' |
63 | 72 | autoload :UnsupportedGroupTypeError, 'grape/exceptions/unsupported_group_type' |
64 | | - autoload :InvalidMessageBody, 'grape/exceptions/invalid_message_body' |
65 | | - autoload :InvalidAcceptHeader, 'grape/exceptions/invalid_accept_header' |
| 73 | + autoload :InvalidMessageBody |
| 74 | + autoload :InvalidAcceptHeader |
66 | 75 | end |
67 | 76 |
|
68 | 77 | module ErrorFormatter |
69 | | - autoload :Base, 'grape/error_formatter/base' |
70 | | - autoload :Json, 'grape/error_formatter/json' |
71 | | - autoload :Txt, 'grape/error_formatter/txt' |
72 | | - autoload :Xml, 'grape/error_formatter/xml' |
| 78 | + extend ActiveSupport::Autoload |
| 79 | + autoload :Base |
| 80 | + autoload :Json |
| 81 | + autoload :Txt |
| 82 | + autoload :Xml |
73 | 83 | end |
74 | 84 |
|
75 | 85 | module Formatter |
76 | | - autoload :Base, 'grape/formatter/base' |
77 | | - autoload :Json, 'grape/formatter/json' |
78 | | - autoload :SerializableHash, 'grape/formatter/serializable_hash' |
79 | | - autoload :Txt, 'grape/formatter/txt' |
80 | | - autoload :Xml, 'grape/formatter/xml' |
| 86 | + extend ActiveSupport::Autoload |
| 87 | + autoload :Base |
| 88 | + autoload :Json |
| 89 | + autoload :SerializableHash |
| 90 | + autoload :Txt |
| 91 | + autoload :Xml |
81 | 92 | end |
82 | 93 |
|
83 | 94 | module Parser |
84 | | - autoload :Base, 'grape/parser/base' |
85 | | - autoload :Json, 'grape/parser/json' |
86 | | - autoload :Xml, 'grape/parser/xml' |
| 95 | + extend ActiveSupport::Autoload |
| 96 | + autoload :Base |
| 97 | + autoload :Json |
| 98 | + autoload :Xml |
87 | 99 | end |
88 | 100 |
|
89 | 101 | module Middleware |
90 | | - autoload :Base, 'grape/middleware/base' |
91 | | - autoload :Versioner, 'grape/middleware/versioner' |
92 | | - autoload :Formatter, 'grape/middleware/formatter' |
93 | | - autoload :Error, 'grape/middleware/error' |
| 102 | + extend ActiveSupport::Autoload |
| 103 | + autoload :Base |
| 104 | + autoload :Versioner |
| 105 | + autoload :Formatter |
| 106 | + autoload :Error |
94 | 107 |
|
95 | 108 | module Auth |
96 | | - autoload :Base, 'grape/middleware/auth/base' |
97 | | - autoload :DSL, 'grape/middleware/auth/dsl' |
98 | | - autoload :StrategyInfo, 'grape/middleware/auth/strategy_info' |
99 | | - autoload :Strategies, 'grape/middleware/auth/strategies' |
| 109 | + extend ActiveSupport::Autoload |
| 110 | + autoload :Base |
| 111 | + autoload :DSL |
| 112 | + autoload :StrategyInfo |
| 113 | + autoload :Strategies |
100 | 114 | end |
101 | 115 |
|
102 | 116 | module Versioner |
103 | | - autoload :Path, 'grape/middleware/versioner/path' |
104 | | - autoload :Header, 'grape/middleware/versioner/header' |
105 | | - autoload :Param, 'grape/middleware/versioner/param' |
106 | | - autoload :AcceptVersionHeader, 'grape/middleware/versioner/accept_version_header' |
| 117 | + extend ActiveSupport::Autoload |
| 118 | + autoload :Path |
| 119 | + autoload :Header |
| 120 | + autoload :Param |
| 121 | + autoload :AcceptVersionHeader |
107 | 122 | end |
108 | 123 | end |
109 | 124 |
|
110 | 125 | module Util |
111 | | - autoload :InheritableValues, 'grape/util/inheritable_values' |
112 | | - autoload :StackableValues, 'grape/util/stackable_values' |
113 | | - autoload :InheritableSetting, 'grape/util/inheritable_setting' |
114 | | - autoload :StrictHashConfiguration, 'grape/util/strict_hash_configuration' |
| 126 | + extend ActiveSupport::Autoload |
| 127 | + autoload :InheritableValues |
| 128 | + autoload :StackableValues |
| 129 | + autoload :InheritableSetting |
| 130 | + autoload :StrictHashConfiguration |
115 | 131 | end |
116 | 132 |
|
117 | 133 | module DSL |
118 | | - autoload :API, 'grape/dsl/api' |
119 | | - autoload :Callbacks, 'grape/dsl/callbacks' |
120 | | - autoload :Settings, 'grape/dsl/settings' |
121 | | - autoload :Configuration, 'grape/dsl/configuration' |
122 | | - autoload :InsideRoute, 'grape/dsl/inside_route' |
123 | | - autoload :Helpers, 'grape/dsl/helpers' |
124 | | - autoload :Middleware, 'grape/dsl/middleware' |
125 | | - autoload :Parameters, 'grape/dsl/parameters' |
126 | | - autoload :RequestResponse, 'grape/dsl/request_response' |
127 | | - autoload :Routing, 'grape/dsl/routing' |
128 | | - autoload :Validations, 'grape/dsl/validations' |
| 134 | + extend ActiveSupport::Autoload |
| 135 | + eager_autoload do |
| 136 | + autoload :API |
| 137 | + autoload :Callbacks |
| 138 | + autoload :Settings |
| 139 | + autoload :Configuration |
| 140 | + autoload :InsideRoute |
| 141 | + autoload :Helpers |
| 142 | + autoload :Middleware |
| 143 | + autoload :Parameters |
| 144 | + autoload :RequestResponse |
| 145 | + autoload :Routing |
| 146 | + autoload :Validations |
| 147 | + end |
129 | 148 | end |
130 | 149 |
|
131 | 150 | class API |
132 | | - autoload :Helpers, 'grape/api/helpers' |
| 151 | + extend ActiveSupport::Autoload |
| 152 | + autoload :Helpers |
133 | 153 | end |
134 | 154 |
|
135 | 155 | module Presenters |
136 | | - autoload :Presenter, 'grape/presenters/presenter' |
| 156 | + extend ActiveSupport::Autoload |
| 157 | + autoload :Presenter |
137 | 158 | end |
138 | 159 | end |
139 | 160 |
|
|
0 commit comments