File: grape.rb

package info (click to toggle)
ruby-grape 1.6.2-3
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 2,156 kB
  • sloc: ruby: 25,265; makefile: 7
file content (251 lines) | stat: -rw-r--r-- 6,393 bytes parent folder | download
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
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
# frozen_string_literal: true

require 'logger'
require 'rack'
require 'rack/builder'
require 'rack/accept'
require 'rack/auth/basic'
require 'rack/auth/digest/md5'
require 'set'
require 'active_support'
require 'active_support/version'
require 'active_support/isolated_execution_state' if ActiveSupport::VERSION::MAJOR > 6
require 'active_support/core_ext/hash/indifferent_access'
require 'active_support/core_ext/object/blank'
require 'active_support/core_ext/array/extract_options'
require 'active_support/core_ext/array/wrap'
require 'active_support/core_ext/array/conversions'
require 'active_support/core_ext/hash/deep_merge'
require 'active_support/core_ext/hash/reverse_merge'
require 'active_support/core_ext/hash/except'
require 'active_support/core_ext/hash/slice'
require 'active_support/core_ext/hash/conversions'
require 'active_support/dependencies/autoload'
require 'active_support/notifications'
require 'i18n'

I18n.load_path << File.expand_path('grape/locale/en.yml', __dir__)

module Grape
  extend ::ActiveSupport::Autoload

  eager_autoload do
    autoload :API
    autoload :Endpoint

    autoload :Namespace

    autoload :Path
    autoload :Cookies
    autoload :Validations
    autoload :ErrorFormatter
    autoload :Formatter
    autoload :Parser
    autoload :Request
    autoload :Env, 'grape/util/env'
    autoload :Json, 'grape/util/json'
    autoload :Xml, 'grape/util/xml'
  end

  module Http
    extend ::ActiveSupport::Autoload
    eager_autoload do
      autoload :Headers
    end
  end

  module Exceptions
    extend ::ActiveSupport::Autoload
    eager_autoload do
      autoload :Base
      autoload :Validation
      autoload :ValidationArrayErrors
      autoload :ValidationErrors
      autoload :MissingVendorOption
      autoload :MissingMimeType
      autoload :MissingOption
      autoload :InvalidFormatter
      autoload :InvalidVersionerOption
      autoload :UnknownValidator
      autoload :UnknownOptions
      autoload :UnknownParameter
      autoload :InvalidWithOptionForRepresent
      autoload :IncompatibleOptionValues
      autoload :MissingGroupTypeError,          'grape/exceptions/missing_group_type'
      autoload :UnsupportedGroupTypeError,      'grape/exceptions/unsupported_group_type'
      autoload :InvalidMessageBody
      autoload :InvalidAcceptHeader
      autoload :InvalidVersionHeader
      autoload :MethodNotAllowed
      autoload :InvalidResponse
      autoload :EmptyMessageBody
    end
  end

  module Extensions
    extend ::ActiveSupport::Autoload
    eager_autoload do
      autoload :DeepMergeableHash
      autoload :DeepSymbolizeHash
      autoload :Hash
    end
    module ActiveSupport
      extend ::ActiveSupport::Autoload
      eager_autoload do
        autoload :HashWithIndifferentAccess
      end
    end

    module Hashie
      extend ::ActiveSupport::Autoload
      eager_autoload do
        autoload :Mash
      end
    end
  end

  module Middleware
    extend ::ActiveSupport::Autoload
    eager_autoload do
      autoload :Base
      autoload :Versioner
      autoload :Formatter
      autoload :Error
      autoload :Globals
      autoload :Stack
      autoload :Helpers
    end

    module Auth
      extend ::ActiveSupport::Autoload
      eager_autoload do
        autoload :Base
        autoload :DSL
        autoload :StrategyInfo
        autoload :Strategies
      end
    end

    module Versioner
      extend ::ActiveSupport::Autoload
      eager_autoload do
        autoload :Path
        autoload :Header
        autoload :Param
        autoload :AcceptVersionHeader
      end
    end
  end

  module Util
    extend ::ActiveSupport::Autoload
    eager_autoload do
      autoload :InheritableValues
      autoload :StackableValues
      autoload :ReverseStackableValues
      autoload :InheritableSetting
      autoload :StrictHashConfiguration
      autoload :Registrable
    end
  end

  module ErrorFormatter
    extend ::ActiveSupport::Autoload
    eager_autoload do
      autoload :Base
      autoload :Json
      autoload :Txt
      autoload :Xml
    end
  end

  module Formatter
    extend ::ActiveSupport::Autoload
    eager_autoload do
      autoload :Json
      autoload :SerializableHash
      autoload :Txt
      autoload :Xml
    end
  end

  module Parser
    extend ::ActiveSupport::Autoload
    eager_autoload do
      autoload :Json
      autoload :Xml
    end
  end

  module DSL
    extend ::ActiveSupport::Autoload
    eager_autoload do
      autoload :API
      autoload :Callbacks
      autoload :Settings
      autoload :Configuration
      autoload :InsideRoute
      autoload :Helpers
      autoload :Middleware
      autoload :Parameters
      autoload :RequestResponse
      autoload :Routing
      autoload :Validations
      autoload :Logger
      autoload :Desc
    end
  end

  class API
    extend ::ActiveSupport::Autoload
    eager_autoload do
      autoload :Helpers
    end
  end

  module Presenters
    extend ::ActiveSupport::Autoload
    eager_autoload do
      autoload :Presenter
    end
  end

  module ServeStream
    extend ::ActiveSupport::Autoload
    eager_autoload do
      autoload :FileBody
      autoload :SendfileResponse
      autoload :StreamResponse
    end
  end
end

require 'grape/config'
require 'grape/content_types'

require 'grape/util/lazy_value'
require 'grape/util/lazy_block'
require 'grape/util/endpoint_configuration'

require 'grape/validations/validators/base'
require 'grape/validations/attributes_iterator'
require 'grape/validations/single_attribute_iterator'
require 'grape/validations/multiple_attributes_iterator'
require 'grape/validations/validators/allow_blank'
require 'grape/validations/validators/as'
require 'grape/validations/validators/at_least_one_of'
require 'grape/validations/validators/coerce'
require 'grape/validations/validators/default'
require 'grape/validations/validators/exactly_one_of'
require 'grape/validations/validators/mutual_exclusion'
require 'grape/validations/validators/presence'
require 'grape/validations/validators/regexp'
require 'grape/validations/validators/same_as'
require 'grape/validations/validators/values'
require 'grape/validations/validators/except_values'
require 'grape/validations/params_scope'
require 'grape/validations/validators/all_or_none'
require 'grape/validations/types'
require 'grape/validations/validator_factory'

require 'grape/version'