m2m_keygen 0.4.9 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (174) hide show
  1. checksums.yaml +4 -4
  2. data/.overcommit.yml +4 -7
  3. data/.rubocop.yml +19 -16
  4. data/.ruby-version +1 -1
  5. data/.streerc +1 -0
  6. data/.tool-versions +1 -1
  7. data/CHANGELOG.md +60 -1
  8. data/Gemfile +2 -2
  9. data/Gemfile.lock +135 -158
  10. data/README.md +64 -78
  11. data/docs/MIGRATING.md +69 -0
  12. data/docs/SPEC.md +245 -0
  13. data/examples/nonce_store/postgres.rb +40 -0
  14. data/examples/nonce_store/redis.rb +23 -0
  15. data/gemfiles/rack_2.gemfile +5 -0
  16. data/gemfiles/rack_3.gemfile +5 -0
  17. data/lib/m2m_keygen/canonicalizer.rb +57 -0
  18. data/lib/m2m_keygen/nonce_store/disabled.rb +19 -0
  19. data/lib/m2m_keygen/nonce_store/memory.rb +64 -0
  20. data/lib/m2m_keygen/nonce_store.rb +18 -0
  21. data/lib/m2m_keygen/rack_validator.rb +72 -19
  22. data/lib/m2m_keygen/request_signer/signed_request.rb +10 -0
  23. data/lib/m2m_keygen/request_signer.rb +118 -0
  24. data/lib/m2m_keygen/signature.rb +41 -39
  25. data/lib/m2m_keygen/types/params_type.rb +6 -17
  26. data/lib/m2m_keygen/version.rb +1 -1
  27. data/lib/m2m_keygen.rb +6 -0
  28. data/m2m_keygen.gemspec +12 -14
  29. data/sorbet/config +1 -0
  30. data/sorbet/rbi/gems/.gitattributes +1 -0
  31. data/sorbet/rbi/gems/{ast@2.4.2.rbi → ast@2.4.3.rbi} +45 -79
  32. data/sorbet/rbi/gems/{benchmark@0.2.0.rbi → benchmark@0.5.0.rbi} +91 -58
  33. data/sorbet/rbi/gems/bundler-audit@0.9.3.rbi +397 -0
  34. data/sorbet/rbi/gems/byebug@13.0.0.rbi +3651 -0
  35. data/sorbet/rbi/gems/childprocess@5.1.0.rbi +336 -0
  36. data/sorbet/rbi/gems/concurrent-ruby@1.3.7.rbi +384 -0
  37. data/sorbet/rbi/gems/{diff-lcs@1.5.0.rbi → diff-lcs@1.6.2.rbi} +189 -199
  38. data/sorbet/rbi/gems/{docile@1.4.0.rbi → docile@1.4.1.rbi} +147 -147
  39. data/sorbet/rbi/gems/dotenv@3.2.0.rbi +267 -0
  40. data/sorbet/rbi/gems/erubi@1.13.1.rbi +155 -0
  41. data/sorbet/rbi/gems/{faker@2.22.0.rbi → faker@3.8.0.rbi} +8468 -3829
  42. data/sorbet/rbi/gems/{ffi@1.15.5.rbi → ffi@1.17.4.rbi} +1 -0
  43. data/sorbet/rbi/gems/{formatador@1.1.0.rbi → formatador@1.2.3.rbi} +1 -0
  44. data/sorbet/rbi/gems/{guard@2.18.0.rbi → guard@2.20.1.rbi} +1 -0
  45. data/sorbet/rbi/gems/{i18n@1.12.0.rbi → i18n@1.15.2.rbi} +687 -827
  46. data/sorbet/rbi/gems/io-console@0.8.2.rbi +9 -0
  47. data/sorbet/rbi/gems/{json@2.6.2.rbi → json@2.20.0.rbi} +994 -252
  48. data/sorbet/rbi/gems/language_server-protocol@3.17.0.5.rbi +9 -0
  49. data/sorbet/rbi/gems/lint_roller@1.1.0.rbi +189 -0
  50. data/sorbet/rbi/gems/listen@3.10.0.rbi +9 -0
  51. data/sorbet/rbi/gems/logger@1.7.0.rbi +896 -0
  52. data/sorbet/rbi/gems/{lumberjack@1.2.8.rbi → lumberjack@1.4.2.rbi} +1 -0
  53. data/sorbet/rbi/gems/{method_source@1.0.0.rbi → method_source@1.1.0.rbi} +111 -90
  54. data/sorbet/rbi/gems/{overcommit@0.59.1.rbi → overcommit@0.71.0.rbi} +503 -647
  55. data/sorbet/rbi/gems/parallel@2.1.0.rbi +321 -0
  56. data/sorbet/rbi/gems/parser@3.3.11.1.rbi +5229 -0
  57. data/sorbet/rbi/gems/prettier_print@1.2.1.rbi +878 -0
  58. data/sorbet/rbi/gems/prism@1.9.0.rbi +42224 -0
  59. data/sorbet/rbi/gems/pry-byebug@3.12.0.rbi +481 -0
  60. data/sorbet/rbi/gems/{pry@0.14.1.rbi → pry@0.16.0.rbi} +2567 -3550
  61. data/sorbet/rbi/gems/{racc@1.6.0.rbi → racc@1.8.1.rbi} +54 -40
  62. data/sorbet/rbi/gems/rack@3.2.6.rbi +4653 -0
  63. data/sorbet/rbi/gems/{rake@13.0.6.rbi → rake@13.4.2.rbi} +963 -732
  64. data/sorbet/rbi/gems/{rb-inotify@0.10.1.rbi → rb-inotify@0.11.1.rbi} +1 -0
  65. data/sorbet/rbi/gems/rbi@0.3.14.rbi +5519 -0
  66. data/sorbet/rbi/gems/rbs@4.0.3.rbi +6908 -0
  67. data/sorbet/rbi/gems/regexp_parser@2.12.0.rbi +3398 -0
  68. data/sorbet/rbi/gems/reline@0.6.3.rbi +2446 -0
  69. data/sorbet/rbi/gems/require-hooks@0.4.0.rbi +152 -0
  70. data/sorbet/rbi/gems/{rexml@3.2.5.rbi → rexml@3.4.4.rbi} +1085 -894
  71. data/sorbet/rbi/gems/rspec-core@3.13.6.rbi +9475 -0
  72. data/sorbet/rbi/gems/rspec-expectations@3.13.5.rbi +6108 -0
  73. data/sorbet/rbi/gems/rspec-mocks@3.13.8.rbi +4787 -0
  74. data/sorbet/rbi/gems/rspec-support@3.13.7.rbi +1274 -0
  75. data/sorbet/rbi/gems/rspec@3.13.2.rbi +15 -0
  76. data/sorbet/rbi/gems/rspec_in_context@1.2.2.rbi +294 -0
  77. data/sorbet/rbi/gems/rubocop-ast@1.49.1.rbi +7140 -0
  78. data/sorbet/rbi/gems/rubocop-faker@1.3.0.rbi +88 -0
  79. data/sorbet/rbi/gems/rubocop-performance@1.26.1.rbi +3403 -0
  80. data/sorbet/rbi/gems/rubocop-sorbet@0.12.0.rbi +2448 -0
  81. data/sorbet/rbi/gems/rubocop@1.88.1.rbi +63103 -0
  82. data/sorbet/rbi/gems/ruby-lsp@0.26.9.rbi +28 -0
  83. data/sorbet/rbi/gems/ruby-progressbar@1.13.0.rbi +988 -0
  84. data/sorbet/rbi/gems/rubydex@0.2.7.rbi +836 -0
  85. data/sorbet/rbi/gems/simplecov-html@0.13.2.rbi +90 -0
  86. data/sorbet/rbi/gems/{simplecov@0.21.2.rbi → simplecov@0.22.0.rbi} +438 -578
  87. data/sorbet/rbi/gems/spoom@1.8.2.rbi +6691 -0
  88. data/sorbet/rbi/gems/syntax_tree@6.3.0.rbi +22090 -0
  89. data/sorbet/rbi/gems/tapioca@0.19.2.rbi +3597 -0
  90. data/sorbet/rbi/gems/{thor@1.2.1.rbi → thor@1.5.0.rbi} +1085 -1171
  91. data/sorbet/rbi/gems/tsort@0.2.0.rbi +389 -0
  92. data/sorbet/rbi/gems/unicode-display_width@3.2.0.rbi +130 -0
  93. data/sorbet/rbi/gems/unicode-emoji@4.2.0.rbi +332 -0
  94. data/sorbet/rbi/gems/{yard-sorbet@0.7.0.rbi → yard-sorbet@0.9.0.rbi} +142 -99
  95. data/sorbet/rbi/gems/{yard@0.9.28.rbi → yard@0.9.44.rbi} +5350 -6316
  96. data/sorbet/rbi/gems/zeitwerk@2.8.2.rbi +1178 -0
  97. metadata +105 -111
  98. data/.prettierrc.js +0 -4
  99. data/docs/M2mKeygen/Error.html +0 -135
  100. data/docs/M2mKeygen/ParamsEncoder.html +0 -321
  101. data/docs/M2mKeygen/RackValidator.html +0 -533
  102. data/docs/M2mKeygen/Signature.html +0 -680
  103. data/docs/M2mKeygen/Types.html +0 -147
  104. data/docs/M2mKeygen.html +0 -157
  105. data/docs/_index.html +0 -182
  106. data/docs/class_list.html +0 -51
  107. data/docs/css/common.css +0 -1
  108. data/docs/css/full_list.css +0 -58
  109. data/docs/css/style.css +0 -497
  110. data/docs/file.README.html +0 -230
  111. data/docs/file_list.html +0 -56
  112. data/docs/frames.html +0 -17
  113. data/docs/index.html +0 -230
  114. data/docs/js/app.js +0 -314
  115. data/docs/js/full_list.js +0 -216
  116. data/docs/js/jquery.js +0 -4
  117. data/docs/method_list.html +0 -139
  118. data/docs/top-level-namespace.html +0 -110
  119. data/lib/m2m_keygen/params_encoder.rb +0 -56
  120. data/package.json +0 -12
  121. data/sig/m2m_keygen.rbs +0 -4
  122. data/sorbet/rbi/gems/activesupport@7.0.3.1.rbi +0 -18608
  123. data/sorbet/rbi/gems/backport@1.2.0.rbi +0 -522
  124. data/sorbet/rbi/gems/bundler-audit@0.9.1.rbi +0 -308
  125. data/sorbet/rbi/gems/byebug@11.1.3.rbi +0 -3603
  126. data/sorbet/rbi/gems/childprocess@4.1.0.rbi +0 -401
  127. data/sorbet/rbi/gems/concurrent-ruby@1.1.10.rbi +0 -11581
  128. data/sorbet/rbi/gems/dotenv@2.8.1.rbi +0 -234
  129. data/sorbet/rbi/gems/e2mmap@0.1.0.rbi +0 -8
  130. data/sorbet/rbi/gems/haml@5.2.2.rbi +0 -3190
  131. data/sorbet/rbi/gems/jaro_winkler@1.5.4.rbi +0 -19
  132. data/sorbet/rbi/gems/kramdown-parser-gfm@1.1.0.rbi +0 -133
  133. data/sorbet/rbi/gems/kramdown@2.4.0.rbi +0 -3261
  134. data/sorbet/rbi/gems/listen@3.7.1.rbi +0 -1181
  135. data/sorbet/rbi/gems/minitest@5.16.3.rbi +0 -1459
  136. data/sorbet/rbi/gems/nokogiri@1.13.8.rbi +0 -6514
  137. data/sorbet/rbi/gems/parallel@1.22.1.rbi +0 -277
  138. data/sorbet/rbi/gems/parser@3.1.2.1.rbi +0 -6826
  139. data/sorbet/rbi/gems/prettier@3.2.0.rbi +0 -22
  140. data/sorbet/rbi/gems/prettier_print@0.1.0.rbi +0 -8
  141. data/sorbet/rbi/gems/pry-byebug@3.10.1.rbi +0 -1222
  142. data/sorbet/rbi/gems/rack@2.2.4.rbi +0 -5630
  143. data/sorbet/rbi/gems/rbi@0.0.15.rbi +0 -3007
  144. data/sorbet/rbi/gems/rbs@2.6.0.rbi +0 -8
  145. data/sorbet/rbi/gems/regexp_parser@2.5.0.rbi +0 -3366
  146. data/sorbet/rbi/gems/reverse_markdown@2.1.1.rbi +0 -389
  147. data/sorbet/rbi/gems/rspec-core@3.11.0.rbi +0 -10786
  148. data/sorbet/rbi/gems/rspec-expectations@3.11.0.rbi +0 -8170
  149. data/sorbet/rbi/gems/rspec-mocks@3.11.1.rbi +0 -5385
  150. data/sorbet/rbi/gems/rspec-support@3.11.0.rbi +0 -1746
  151. data/sorbet/rbi/gems/rspec@3.11.0.rbi +0 -187
  152. data/sorbet/rbi/gems/rspec_in_context@1.1.0.3.rbi +0 -1113
  153. data/sorbet/rbi/gems/rubocop-ast@1.21.0.rbi +0 -7044
  154. data/sorbet/rbi/gems/rubocop-faker@1.1.0.rbi +0 -106
  155. data/sorbet/rbi/gems/rubocop-performance@1.14.3.rbi +0 -2982
  156. data/sorbet/rbi/gems/rubocop-sorbet@0.6.11.rbi +0 -990
  157. data/sorbet/rbi/gems/rubocop@1.35.1.rbi +0 -52002
  158. data/sorbet/rbi/gems/ruby-progressbar@1.11.0.rbi +0 -1239
  159. data/sorbet/rbi/gems/simplecov-html@0.12.3.rbi +0 -219
  160. data/sorbet/rbi/gems/solargraph@0.46.0.rbi +0 -9075
  161. data/sorbet/rbi/gems/spoom@1.1.12.rbi +0 -2369
  162. data/sorbet/rbi/gems/syntax_tree-haml@1.3.1.rbi +0 -8
  163. data/sorbet/rbi/gems/syntax_tree-rbs@0.5.0.rbi +0 -8
  164. data/sorbet/rbi/gems/syntax_tree@3.5.0.rbi +0 -8
  165. data/sorbet/rbi/gems/tapioca@0.9.4.rbi +0 -2946
  166. data/sorbet/rbi/gems/temple@0.8.2.rbi +0 -1712
  167. data/sorbet/rbi/gems/tilt@2.0.11.rbi +0 -742
  168. data/sorbet/rbi/gems/tzinfo@2.0.5.rbi +0 -5914
  169. data/sorbet/rbi/gems/unicode-display_width@2.2.0.rbi +0 -48
  170. data/sorbet/rbi/gems/unparser@0.6.5.rbi +0 -4529
  171. data/sorbet/rbi/gems/webrick@1.7.0.rbi +0 -2553
  172. data/sorbet/rbi/gems/zeitwerk@2.6.0.rbi +0 -867
  173. data/sorbet/rbi/manual.rbi +0 -7
  174. data/yarn.lock +0 -20
@@ -0,0 +1,267 @@
1
+ # typed: true
2
+
3
+ # DO NOT EDIT MANUALLY
4
+ # This is an autogenerated file for types exported from the `dotenv` gem.
5
+ # Please instead update this file by running `bin/tapioca gem dotenv`.
6
+
7
+
8
+ # Shim to load environment variables from `.env files into `ENV`.
9
+ #
10
+ # pkg:gem/dotenv#lib/dotenv/version.rb:1
11
+ module Dotenv
12
+ extend ::Dotenv
13
+
14
+ # pkg:gem/dotenv#lib/dotenv.rb:15
15
+ def instrumenter; end
16
+
17
+ # pkg:gem/dotenv#lib/dotenv.rb:15
18
+ def instrumenter=(_arg0); end
19
+
20
+ # Loads environment variables from one or more `.env` files. See `#parse` for more details.
21
+ #
22
+ # pkg:gem/dotenv#lib/dotenv.rb:18
23
+ def load(*filenames, overwrite: T.unsafe(nil), ignore: T.unsafe(nil)); end
24
+
25
+ # Same as `#load`, but raises Errno::ENOENT if any files don't exist
26
+ #
27
+ # pkg:gem/dotenv#lib/dotenv.rb:27
28
+ def load!(*filenames); end
29
+
30
+ # Modify `ENV` for the block and restore it to its previous state afterwards.
31
+ #
32
+ # Note that the block is synchronized to prevent concurrent modifications to `ENV`,
33
+ # so multiple threads will be executed serially.
34
+ #
35
+ # @param env [Hash] Hash of keys and values to set in `ENV`
36
+ #
37
+ # pkg:gem/dotenv#lib/dotenv.rb:124
38
+ def modify(env = T.unsafe(nil), &block); end
39
+
40
+ # pkg:gem/dotenv#lib/dotenv.rb:35
41
+ def overload(*filenames); end
42
+
43
+ # pkg:gem/dotenv#lib/dotenv.rb:41
44
+ def overload!(*filenames); end
45
+
46
+ # same as `#load`, but will overwrite existing values in `ENV`
47
+ #
48
+ # pkg:gem/dotenv#lib/dotenv.rb:32
49
+ def overwrite(*filenames); end
50
+
51
+ # same as `#overwrite`, but raises Errno::ENOENT if any files don't exist
52
+ #
53
+ # pkg:gem/dotenv#lib/dotenv.rb:38
54
+ def overwrite!(*filenames); end
55
+
56
+ # Parses the given files, yielding for each file if a block is given.
57
+ #
58
+ # @param filenames [String, Array<String>] Files to parse
59
+ # @param overwrite [Boolean] Overwrite existing `ENV` values
60
+ # @param ignore [Boolean] Ignore non-existent files
61
+ # @param block [Proc] Block to yield for each parsed `Dotenv::Environment`
62
+ # @return [Hash] parsed key/value pairs
63
+ #
64
+ # pkg:gem/dotenv#lib/dotenv.rb:50
65
+ def parse(*filenames, overwrite: T.unsafe(nil), ignore: T.unsafe(nil), &block); end
66
+
67
+ # pkg:gem/dotenv#lib/dotenv.rb:134
68
+ def require_keys(*keys); end
69
+
70
+ # Restore `ENV` to a given state
71
+ #
72
+ # @param env [Hash] Hash of keys and values to restore, defaults to the last saved state
73
+ # @param safe [Boolean] Is it safe to modify `ENV`? Defaults to `true` in the main thread, otherwise raises an error.
74
+ #
75
+ # pkg:gem/dotenv#lib/dotenv.rb:77
76
+ def restore(env = T.unsafe(nil), safe: T.unsafe(nil)); end
77
+
78
+ # Save the current `ENV` to be restored later
79
+ #
80
+ # pkg:gem/dotenv#lib/dotenv.rb:67
81
+ def save; end
82
+
83
+ # Update `ENV` with the given hash of keys and values
84
+ #
85
+ # @param env [Hash] Hash of keys and values to set in `ENV`
86
+ # @param overwrite [Boolean|:warn] Overwrite existing `ENV` values
87
+ #
88
+ # pkg:gem/dotenv#lib/dotenv.rb:98
89
+ def update(env = T.unsafe(nil), overwrite: T.unsafe(nil)); end
90
+
91
+ private
92
+
93
+ # pkg:gem/dotenv#lib/dotenv.rb:142
94
+ def instrument(name, payload = T.unsafe(nil), &block); end
95
+ end
96
+
97
+ # A diff between multiple states of ENV.
98
+ #
99
+ # pkg:gem/dotenv#lib/dotenv/diff.rb:3
100
+ class Dotenv::Diff
101
+ # Create a new diff. If given a block, the state of ENV after the block will be preserved as
102
+ # the final state for comparison. Otherwise, the current ENV will be the final state.
103
+ #
104
+ # @param a [Hash] the initial state, defaults to a snapshot of current ENV
105
+ # @param b [Hash] the final state, defaults to the current ENV
106
+ # @yield [diff] a block to execute before recording the final state
107
+ #
108
+ # pkg:gem/dotenv#lib/dotenv/diff.rb:16
109
+ def initialize(a: T.unsafe(nil), b: T.unsafe(nil), &block); end
110
+
111
+ # The initial state
112
+ #
113
+ # pkg:gem/dotenv#lib/dotenv/diff.rb:5
114
+ def a; end
115
+
116
+ # Return a Hash of keys added with their new values
117
+ #
118
+ # pkg:gem/dotenv#lib/dotenv/diff.rb:24
119
+ def added; end
120
+
121
+ # Returns true if any keys were added, removed, or changed
122
+ #
123
+ # pkg:gem/dotenv#lib/dotenv/diff.rb:46
124
+ def any?; end
125
+
126
+ # The final or current state
127
+ #
128
+ # pkg:gem/dotenv#lib/dotenv/diff.rb:8
129
+ def b; end
130
+
131
+ # Returns of Hash of keys changed with an array of their previous and new values
132
+ #
133
+ # pkg:gem/dotenv#lib/dotenv/diff.rb:34
134
+ def changed; end
135
+
136
+ # Returns a Hash of all added, changed, and removed keys and their new values
137
+ #
138
+ # pkg:gem/dotenv#lib/dotenv/diff.rb:41
139
+ def env; end
140
+
141
+ # Returns a Hash of keys removed with their previous values
142
+ #
143
+ # pkg:gem/dotenv#lib/dotenv/diff.rb:29
144
+ def removed; end
145
+
146
+ private
147
+
148
+ # pkg:gem/dotenv#lib/dotenv/diff.rb:52
149
+ def snapshot; end
150
+ end
151
+
152
+ # A `.env` file that will be read and parsed into a Hash
153
+ #
154
+ # pkg:gem/dotenv#lib/dotenv/environment.rb:3
155
+ class Dotenv::Environment < ::Hash
156
+ # Create a new Environment
157
+ #
158
+ # @param filename [String] the path to the file to read
159
+ # @param overwrite [Boolean] whether the parser should assume existing values will be overwritten
160
+ #
161
+ # pkg:gem/dotenv#lib/dotenv/environment.rb:10
162
+ def initialize(filename, overwrite: T.unsafe(nil)); end
163
+
164
+ # pkg:gem/dotenv#lib/dotenv/environment.rb:4
165
+ def filename; end
166
+
167
+ # pkg:gem/dotenv#lib/dotenv/environment.rb:17
168
+ def load; end
169
+
170
+ # pkg:gem/dotenv#lib/dotenv/environment.rb:4
171
+ def overwrite; end
172
+
173
+ # pkg:gem/dotenv#lib/dotenv/environment.rb:21
174
+ def read; end
175
+ end
176
+
177
+ # pkg:gem/dotenv#lib/dotenv/missing_keys.rb:2
178
+ class Dotenv::Error < ::StandardError; end
179
+
180
+ # Error raised when encountering a syntax error while parsing a .env file.
181
+ #
182
+ # pkg:gem/dotenv#lib/dotenv/parser.rb:6
183
+ class Dotenv::FormatError < ::SyntaxError; end
184
+
185
+ # pkg:gem/dotenv#lib/dotenv/missing_keys.rb:4
186
+ class Dotenv::MissingKeys < ::Dotenv::Error
187
+ # pkg:gem/dotenv#lib/dotenv/missing_keys.rb:5
188
+ def initialize(keys); end
189
+ end
190
+
191
+ # Parses the `.env` file format into key/value pairs.
192
+ # It allows for variable substitutions, command substitutions, and exporting of variables.
193
+ #
194
+ # pkg:gem/dotenv#lib/dotenv/parser.rb:10
195
+ class Dotenv::Parser
196
+ # pkg:gem/dotenv#lib/dotenv/parser.rb:46
197
+ def initialize(string, overwrite: T.unsafe(nil)); end
198
+
199
+ # pkg:gem/dotenv#lib/dotenv/parser.rb:53
200
+ def call; end
201
+
202
+ private
203
+
204
+ # Determine if a variable is already defined and should not be overwritten.
205
+ #
206
+ # pkg:gem/dotenv#lib/dotenv/parser.rb:76
207
+ def existing?(key); end
208
+
209
+ # pkg:gem/dotenv#lib/dotenv/parser.rb:101
210
+ def expand_newlines(value); end
211
+
212
+ # pkg:gem/dotenv#lib/dotenv/parser.rb:80
213
+ def parse_value(value); end
214
+
215
+ # pkg:gem/dotenv#lib/dotenv/parser.rb:97
216
+ def unescape_characters(value); end
217
+
218
+ class << self
219
+ # pkg:gem/dotenv#lib/dotenv/parser.rb:41
220
+ def call(*_arg0, **_arg1, &_arg2); end
221
+
222
+ # pkg:gem/dotenv#lib/dotenv/parser.rb:39
223
+ def substitutions; end
224
+ end
225
+ end
226
+
227
+ # pkg:gem/dotenv#lib/dotenv/parser.rb:16
228
+ Dotenv::Parser::LINE = T.let(T.unsafe(nil), Regexp)
229
+
230
+ # pkg:gem/dotenv#lib/dotenv/parser.rb:36
231
+ Dotenv::Parser::QUOTED_STRING = T.let(T.unsafe(nil), Regexp)
232
+
233
+ # An internal monitor to synchronize access to ENV in multi-threaded environments.
234
+ #
235
+ # pkg:gem/dotenv#lib/dotenv.rb:12
236
+ Dotenv::SEMAPHORE = T.let(T.unsafe(nil), Monitor)
237
+
238
+ # pkg:gem/dotenv#lib/dotenv/substitutions/variable.rb:4
239
+ module Dotenv::Substitutions; end
240
+
241
+ # Substitute shell commands in a value.
242
+ #
243
+ # SHA=$(git rev-parse HEAD)
244
+ #
245
+ # pkg:gem/dotenv#lib/dotenv/substitutions/command.rb:9
246
+ module Dotenv::Substitutions::Command
247
+ class << self
248
+ # pkg:gem/dotenv#lib/dotenv/substitutions/command.rb:23
249
+ def call(value, env); end
250
+ end
251
+ end
252
+
253
+ # Substitute variables in a value.
254
+ #
255
+ # HOST=example.com
256
+ # URL="https://$HOST"
257
+ #
258
+ # pkg:gem/dotenv#lib/dotenv/substitutions/variable.rb:10
259
+ module Dotenv::Substitutions::Variable
260
+ class << self
261
+ # pkg:gem/dotenv#lib/dotenv/substitutions/variable.rb:21
262
+ def call(value, env); end
263
+ end
264
+ end
265
+
266
+ # pkg:gem/dotenv#lib/dotenv/version.rb:2
267
+ Dotenv::VERSION = T.let(T.unsafe(nil), String)
@@ -0,0 +1,155 @@
1
+ # typed: true
2
+
3
+ # DO NOT EDIT MANUALLY
4
+ # This is an autogenerated file for types exported from the `erubi` gem.
5
+ # Please instead update this file by running `bin/tapioca gem erubi`.
6
+
7
+
8
+ # pkg:gem/erubi#lib/erubi.rb:3
9
+ module Erubi
10
+ private
11
+
12
+ # Escape characters with their HTML/XML equivalents.
13
+ #
14
+ # pkg:gem/erubi#lib/erubi.rb:22
15
+ def h(_arg0); end
16
+
17
+ class << self
18
+ # Escape characters with their HTML/XML equivalents.
19
+ #
20
+ # pkg:gem/erubi#lib/erubi.rb:49
21
+ def h(_arg0); end
22
+ end
23
+ end
24
+
25
+ # pkg:gem/erubi#lib/erubi.rb:51
26
+ class Erubi::Engine
27
+ # Initialize a new Erubi::Engine. Options:
28
+ # +:bufval+ :: The value to use for the buffer variable, as a string (default <tt>'::String.new'</tt>).
29
+ # +:bufvar+ :: The variable name to use for the buffer variable, as a string.
30
+ # +:chain_appends+ :: Whether to chain <tt><<</t> calls to the buffer variable. Offers better
31
+ # performance, but can cause issues when the buffer variable is reassigned during
32
+ # template rendering (default +false+).
33
+ # +:ensure+ :: Wrap the template in a begin/ensure block restoring the previous value of bufvar.
34
+ # +:escapefunc+ :: The function to use for escaping, as a string (default: <tt>'::Erubi.h'</tt>).
35
+ # +:escape+ :: Whether to make <tt><%=</tt> escape by default, and <tt><%==</tt> not escape by default.
36
+ # +:escape_html+ :: Same as +:escape+, with lower priority.
37
+ # +:filename+ :: The filename for the template.
38
+ # the resulting source code. Note this may cause problems if you are wrapping the resulting
39
+ # source code in other code, because the magic comment only has an effect at the beginning of
40
+ # the file, and having the magic comment later in the file can trigger warnings.
41
+ # +:freeze_template_literals+ :: Whether to suffix all literal strings for template code with <tt>.freeze</tt>
42
+ # (default: +true+ on Ruby 2.1+, +false+ on Ruby 2.0 and older).
43
+ # Can be set to +false+ on Ruby 2.3+ when frozen string literals are enabled
44
+ # in order to improve performance.
45
+ # +:literal_prefix+ :: The prefix to output when using escaped tag delimiters (default <tt>'<%'</tt>).
46
+ # +:literal_postfix+ :: The postfix to output when using escaped tag delimiters (default <tt>'%>'</tt>).
47
+ # +:outvar+ :: Same as +:bufvar+, with lower priority.
48
+ # +:postamble+ :: The postamble for the template, by default returns the resulting source code.
49
+ # +:preamble+ :: The preamble for the template, by default initializes the buffer variable.
50
+ # +:regexp+ :: The regexp to use for scanning.
51
+ # +:src+ :: The initial value to use for the source code, an empty string by default.
52
+ # +:trim+ :: Whether to trim leading and trailing whitespace, true by default.
53
+ #
54
+ # pkg:gem/erubi#lib/erubi.rb:91
55
+ def initialize(input, properties = T.unsafe(nil)); end
56
+
57
+ # The variable name used for the buffer variable.
58
+ #
59
+ # pkg:gem/erubi#lib/erubi.rb:62
60
+ def bufvar; end
61
+
62
+ # The filename of the template, if one was given.
63
+ #
64
+ # pkg:gem/erubi#lib/erubi.rb:59
65
+ def filename; end
66
+
67
+ # The frozen ruby source code generated from the template, which can be evaled.
68
+ #
69
+ # pkg:gem/erubi#lib/erubi.rb:56
70
+ def src; end
71
+
72
+ private
73
+
74
+ # pkg:gem/erubi#lib/erubi.rb:209
75
+ def _dup_string_if_frozen(string); end
76
+
77
+ # Add ruby code to the template
78
+ #
79
+ # pkg:gem/erubi#lib/erubi.rb:232
80
+ def add_code(code); end
81
+
82
+ # Add the given ruby expression result to the template,
83
+ # escaping it based on the indicator given and escape flag.
84
+ #
85
+ # pkg:gem/erubi#lib/erubi.rb:241
86
+ def add_expression(indicator, code); end
87
+
88
+ # Add the result of Ruby expression to the template
89
+ #
90
+ # pkg:gem/erubi#lib/erubi.rb:250
91
+ def add_expression_result(code); end
92
+
93
+ # Add the escaped result of Ruby expression to the template
94
+ #
95
+ # pkg:gem/erubi#lib/erubi.rb:255
96
+ def add_expression_result_escaped(code); end
97
+
98
+ # Add the given postamble to the src. Can be overridden in subclasses
99
+ # to make additional changes to src that depend on the current state.
100
+ #
101
+ # pkg:gem/erubi#lib/erubi.rb:261
102
+ def add_postamble(postamble); end
103
+
104
+ # Add raw text to the template. Modifies argument if argument is mutable as a memory optimization.
105
+ # Must be called with a string, cannot be called with nil (Rails's subclass depends on it).
106
+ #
107
+ # pkg:gem/erubi#lib/erubi.rb:222
108
+ def add_text(text); end
109
+
110
+ # Raise an exception, as the base engine class does not support handling other indicators.
111
+ #
112
+ # pkg:gem/erubi#lib/erubi.rb:267
113
+ def handle(indicator, code, tailch, rspace, lspace); end
114
+
115
+ # Make sure that any current expression has been terminated.
116
+ # The default is to terminate all expressions, but when
117
+ # the chain_appends option is used, expressions may not be
118
+ # terminated.
119
+ #
120
+ # pkg:gem/erubi#lib/erubi.rb:295
121
+ def terminate_expression; end
122
+
123
+ # Make sure the buffer variable is the target of the next append
124
+ # before yielding to the block. Mark that the buffer is the target
125
+ # of the next append after the block executes.
126
+ #
127
+ # This method should only be called if the block will result in
128
+ # code where << will append to the bufvar.
129
+ #
130
+ # pkg:gem/erubi#lib/erubi.rb:277
131
+ def with_buffer; end
132
+ end
133
+
134
+ # The default regular expression used for scanning.
135
+ #
136
+ # pkg:gem/erubi#lib/erubi.rb:53
137
+ Erubi::Engine::DEFAULT_REGEXP = T.let(T.unsafe(nil), Regexp)
138
+
139
+ # pkg:gem/erubi#lib/erubi.rb:17
140
+ Erubi::FREEZE_TEMPLATE_LITERALS = T.let(T.unsafe(nil), TrueClass)
141
+
142
+ # pkg:gem/erubi#lib/erubi.rb:15
143
+ Erubi::MATCH_METHOD = T.let(T.unsafe(nil), Symbol)
144
+
145
+ # pkg:gem/erubi#lib/erubi.rb:8
146
+ Erubi::RANGE_FIRST = T.let(T.unsafe(nil), Integer)
147
+
148
+ # pkg:gem/erubi#lib/erubi.rb:9
149
+ Erubi::RANGE_LAST = T.let(T.unsafe(nil), Integer)
150
+
151
+ # pkg:gem/erubi#lib/erubi.rb:16
152
+ Erubi::SKIP_DEFINED_FOR_INSTANCE_VARIABLE = T.let(T.unsafe(nil), TrueClass)
153
+
154
+ # pkg:gem/erubi#lib/erubi.rb:4
155
+ Erubi::VERSION = T.let(T.unsafe(nil), String)