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,15 @@
1
+ # typed: true
2
+
3
+ # DO NOT EDIT MANUALLY
4
+ # This is an autogenerated file for types exported from the `rspec` gem.
5
+ # Please instead update this file by running `bin/tapioca gem rspec`.
6
+
7
+
8
+ # pkg:gem/rspec#lib/rspec/version.rb:1
9
+ module RSpec; end
10
+
11
+ # pkg:gem/rspec#lib/rspec/version.rb:2
12
+ module RSpec::Version; end
13
+
14
+ # pkg:gem/rspec#lib/rspec/version.rb:3
15
+ RSpec::Version::STRING = T.let(T.unsafe(nil), String)
@@ -0,0 +1,294 @@
1
+ # typed: true
2
+
3
+ # DO NOT EDIT MANUALLY
4
+ # This is an autogenerated file for types exported from the `rspec_in_context` gem.
5
+ # Please instead update this file by running `bin/tapioca gem rspec_in_context`.
6
+
7
+
8
+ # RSpec
9
+ #
10
+ # pkg:gem/rspec_in_context#lib/rspec_in_context/context_management.rb:15
11
+ module RSpec
12
+ class << self
13
+ # Allows you to define contexts outside of RSpec.describe blocks
14
+ #
15
+ # @param name [String, Symbol] Name of the defined context
16
+ # @param namespace [String, Symbol] Namespace where to store your context
17
+ # @param ns Alias of namespace
18
+ # @param silent [Boolean] Does the in_context should wrap itself into a context block with its name
19
+ # @param print_context [Boolean] Reverse alias of silent
20
+ # @param block [Proc] code that will be injected later
21
+ #
22
+ # pkg:gem/rspec_in_context#lib/rspec_in_context.rb:31
23
+ def define_context(name, namespace: T.unsafe(nil), ns: T.unsafe(nil), silent: T.unsafe(nil), print_context: T.unsafe(nil), &_arg5); end
24
+ end
25
+ end
26
+
27
+ # Core
28
+ #
29
+ # pkg:gem/rspec_in_context#lib/rspec_in_context/context_management.rb:17
30
+ module RSpec::Core; end
31
+
32
+ # ExampleGroup
33
+ #
34
+ # pkg:gem/rspec_in_context#lib/rspec_in_context/context_management.rb:19
35
+ class RSpec::Core::ExampleGroup
36
+ extend ::RspecInContext::ContextManagement
37
+ end
38
+
39
+ class RSpec::Core::Formatters::DocumentationFormatter < ::RSpec::Core::Formatters::BaseTextFormatter
40
+ include ::RspecInContext::Formatters::DocumentationFormatterPatch
41
+ end
42
+
43
+ # Main wrapping module
44
+ # Base module
45
+ #
46
+ # pkg:gem/rspec_in_context#lib/rspec_in_context/version.rb:1
47
+ module RspecInContext
48
+ include ::RspecInContext::InContext
49
+
50
+ mixes_in_class_methods ::RspecInContext::InContext::ClassMethods
51
+
52
+ class << self
53
+ # @api private
54
+ # Inclusion convenience of the gem in RSpec
55
+ #
56
+ # pkg:gem/rspec_in_context#lib/rspec_in_context.rb:16
57
+ def included(base); end
58
+ end
59
+ end
60
+
61
+ # Error type when multiple namespaces contain a context with the same name
62
+ #
63
+ # pkg:gem/rspec_in_context#lib/rspec_in_context/in_context.rb:20
64
+ class RspecInContext::AmbiguousContextName < ::RspecInContext::Error; end
65
+
66
+ # Context struct
67
+ # @attr [Proc] block what will be executed in the test context
68
+ # @attr [Class] owner current rspec context class. This will be used to know where a define_context has been defined
69
+ # @attr [String | Symbol] name represent the name by which the context can be found.
70
+ # @attr [String | Symbol] namespace namespace for context names to avoid collisions
71
+ # @attr [Boolean] silent does the in_context wrap itself into a context with its name or an anonymous context
72
+ #
73
+ # pkg:gem/rspec_in_context#lib/rspec_in_context/in_context.rb:29
74
+ class RspecInContext::Context < ::Struct
75
+ # pkg:gem/rspec_in_context#lib/rspec_in_context/in_context.rb:29
76
+ def block; end
77
+
78
+ # pkg:gem/rspec_in_context#lib/rspec_in_context/in_context.rb:29
79
+ def block=(_); end
80
+
81
+ # pkg:gem/rspec_in_context#lib/rspec_in_context/in_context.rb:29
82
+ def name; end
83
+
84
+ # pkg:gem/rspec_in_context#lib/rspec_in_context/in_context.rb:29
85
+ def name=(_); end
86
+
87
+ # pkg:gem/rspec_in_context#lib/rspec_in_context/in_context.rb:29
88
+ def namespace; end
89
+
90
+ # pkg:gem/rspec_in_context#lib/rspec_in_context/in_context.rb:29
91
+ def namespace=(_); end
92
+
93
+ # pkg:gem/rspec_in_context#lib/rspec_in_context/in_context.rb:29
94
+ def owner; end
95
+
96
+ # pkg:gem/rspec_in_context#lib/rspec_in_context/in_context.rb:29
97
+ def owner=(_); end
98
+
99
+ # pkg:gem/rspec_in_context#lib/rspec_in_context/in_context.rb:29
100
+ def silent; end
101
+
102
+ # pkg:gem/rspec_in_context#lib/rspec_in_context/in_context.rb:29
103
+ def silent=(_); end
104
+
105
+ class << self
106
+ # pkg:gem/rspec_in_context#lib/rspec_in_context/in_context.rb:29
107
+ def [](*_arg0); end
108
+
109
+ # pkg:gem/rspec_in_context#lib/rspec_in_context/in_context.rb:29
110
+ def inspect; end
111
+
112
+ # pkg:gem/rspec_in_context#lib/rspec_in_context/in_context.rb:29
113
+ def keyword_init?; end
114
+
115
+ # pkg:gem/rspec_in_context#lib/rspec_in_context/in_context.rb:29
116
+ def members; end
117
+
118
+ # pkg:gem/rspec_in_context#lib/rspec_in_context/in_context.rb:29
119
+ def new(*_arg0); end
120
+ end
121
+ end
122
+
123
+ # Allow context to be scoped inside a block
124
+ #
125
+ # pkg:gem/rspec_in_context#lib/rspec_in_context/context_management.rb:3
126
+ module RspecInContext::ContextManagement
127
+ # @api private
128
+ # prepending a RSpec method so we can know when a describe/context block finish
129
+ # its reading
130
+ #
131
+ # pkg:gem/rspec_in_context#lib/rspec_in_context/context_management.rb:7
132
+ def subclass(parent, description, args, registration_collection, &_arg4); end
133
+ end
134
+
135
+ # Base error class for all gem errors
136
+ #
137
+ # pkg:gem/rspec_in_context#lib/rspec_in_context/in_context.rb:4
138
+ class RspecInContext::Error < ::StandardError; end
139
+
140
+ # pkg:gem/rspec_in_context#lib/rspec_in_context/formatters/documentation_formatter_patch.rb:4
141
+ module RspecInContext::Formatters; end
142
+
143
+ # Prepended onto RSpec::Core::Formatters::DocumentationFormatter to
144
+ # hide the anonymous context wrappers that silent in_context creates.
145
+ #
146
+ # Without this patch, each silent in_context adds a blank line and an
147
+ # extra indentation level to --format documentation output.
148
+ #
149
+ # pkg:gem/rspec_in_context#lib/rspec_in_context/formatters/documentation_formatter_patch.rb:10
150
+ module RspecInContext::Formatters::DocumentationFormatterPatch
151
+ # pkg:gem/rspec_in_context#lib/rspec_in_context/formatters/documentation_formatter_patch.rb:25
152
+ def example_group_finished(notification); end
153
+
154
+ # pkg:gem/rspec_in_context#lib/rspec_in_context/formatters/documentation_formatter_patch.rb:11
155
+ def example_group_started(notification); end
156
+ end
157
+
158
+ # Main module containing almost every methods
159
+ #
160
+ # pkg:gem/rspec_in_context#lib/rspec_in_context/in_context.rb:32
161
+ module RspecInContext::InContext
162
+ mixes_in_class_methods ::RspecInContext::InContext::ClassMethods
163
+
164
+ class << self
165
+ # Meta method to add a new context
166
+ # @api private
167
+ #
168
+ # @note Will warn if a context is overridden
169
+ # @raise [InvalidContextName] if context_name is nil or empty
170
+ # @raise [MissingDefinitionBlock] if no block is provided
171
+ #
172
+ # pkg:gem/rspec_in_context#lib/rspec_in_context/in_context.rb:67
173
+ def add_context(context_name, owner = T.unsafe(nil), namespace = T.unsafe(nil), silent = T.unsafe(nil), &block); end
174
+
175
+ # Remove all stored contexts (both scoped and global).
176
+ # Useful for memory cleanup in long-running test suites with
177
+ # dynamically generated contexts.
178
+ #
179
+ # pkg:gem/rspec_in_context#lib/rspec_in_context/in_context.rb:57
180
+ def clear_all_contexts!; end
181
+
182
+ # Contexts container + creation
183
+ # Keys are normalized to strings so symbols and strings are interchangeable.
184
+ # @api private
185
+ #
186
+ # pkg:gem/rspec_in_context#lib/rspec_in_context/in_context.rb:48
187
+ def contexts; end
188
+
189
+ # Find a context.
190
+ # @api private
191
+ # @raise [NoContextFound] if no context is found
192
+ # @raise [AmbiguousContextName] if multiple namespaces contain the same context name
193
+ #
194
+ # pkg:gem/rspec_in_context#lib/rspec_in_context/in_context.rb:101
195
+ def find_context(context_name, namespace = T.unsafe(nil)); end
196
+
197
+ # Look into every namespace to find the context
198
+ # Uses dig to avoid auto-vivifying empty namespace entries
199
+ # @api private
200
+ # @raise [AmbiguousContextName] if multiple namespaces contain the same context name
201
+ #
202
+ # pkg:gem/rspec_in_context#lib/rspec_in_context/in_context.rb:117
203
+ def find_context_across_all_namespaces(name_key); end
204
+
205
+ # Hook for easier inclusion of the gem in RSpec
206
+ # @api private
207
+ #
208
+ # pkg:gem/rspec_in_context#lib/rspec_in_context/in_context.rb:41
209
+ def included(base); end
210
+
211
+ # @api private
212
+ # Define a context from outside a RSpec.describe block
213
+ #
214
+ # pkg:gem/rspec_in_context#lib/rspec_in_context/in_context.rb:143
215
+ def outside_define_context(context_name, namespace, silent, &_arg3); end
216
+
217
+ # @api private
218
+ # Delete a context
219
+ #
220
+ # pkg:gem/rspec_in_context#lib/rspec_in_context/in_context.rb:133
221
+ def remove_context(current_class); end
222
+ end
223
+ end
224
+
225
+ # This module define the methods that will be available for the end user inside RSpec tests
226
+ #
227
+ # pkg:gem/rspec_in_context#lib/rspec_in_context/in_context.rb:149
228
+ module RspecInContext::InContext::ClassMethods
229
+ # Let you define a context that can be reused later
230
+ #
231
+ # @param context_name [String, Symbol] The name of the context that will be re-used later
232
+ # @param namespace [String, Symbol] namespace name where the context will be stored.
233
+ # It helps reducing collisions when you define "global" contexts
234
+ # @param ns [String, Symbol] Alias of namespace
235
+ # @param block [Proc] Contain the code that will be injected with #in_context later
236
+ # @param silent [Boolean] Does the in_context wrap itself into a context with its name or an anonymous context
237
+ # @param print_context [Boolean] Reverse alias of silent
238
+ #
239
+ # @note contexts are scoped to the block they are defined in.
240
+ #
241
+ # pkg:gem/rspec_in_context#lib/rspec_in_context/in_context.rb:207
242
+ def define_context(context_name, namespace: T.unsafe(nil), ns: T.unsafe(nil), silent: T.unsafe(nil), print_context: T.unsafe(nil), &_arg5); end
243
+
244
+ # Used in context definition
245
+ # Place where you want to re-inject code passed in argument of in_context
246
+ # (for more examples look at tests)
247
+ #
248
+ # pkg:gem/rspec_in_context#lib/rspec_in_context/in_context.rb:180
249
+ def execute_tests; end
250
+
251
+ # Use a context and inject its content at this place in the code
252
+ #
253
+ # @param [String, Symbol] context_name The context namespace
254
+ # @param [*Any] args Any arg to be passed down to the injected context
255
+ # @param [String, Symbol] namespace namespace name where to look for the context
256
+ # @param [String, Symbol] ns Alias for :namespace
257
+ # @param block Content that will be re-injected (see #execute_tests)
258
+ #
259
+ # pkg:gem/rspec_in_context#lib/rspec_in_context/in_context.rb:157
260
+ def in_context(context_name, *args, namespace: T.unsafe(nil), ns: T.unsafe(nil), &block); end
261
+
262
+ # @deprecated Use {#instantiate_context} or {#execute_tests} instead
263
+ #
264
+ # pkg:gem/rspec_in_context#lib/rspec_in_context/in_context.rb:187
265
+ def instanciate_context; end
266
+
267
+ # pkg:gem/rspec_in_context#lib/rspec_in_context/in_context.rb:184
268
+ def instantiate_context; end
269
+ end
270
+
271
+ # Name of the Global context
272
+ #
273
+ # pkg:gem/rspec_in_context#lib/rspec_in_context/in_context.rb:34
274
+ RspecInContext::InContext::GLOBAL_CONTEXT = T.let(T.unsafe(nil), Symbol)
275
+
276
+ # Error type when context_name is nil or empty
277
+ #
278
+ # pkg:gem/rspec_in_context#lib/rspec_in_context/in_context.rb:16
279
+ class RspecInContext::InvalidContextName < ::ArgumentError; end
280
+
281
+ # Error type when define_context is called without a block
282
+ #
283
+ # pkg:gem/rspec_in_context#lib/rspec_in_context/in_context.rb:12
284
+ class RspecInContext::MissingDefinitionBlock < ::ArgumentError; end
285
+
286
+ # Error type when no context is found from its name (and eventually namespace)
287
+ #
288
+ # pkg:gem/rspec_in_context#lib/rspec_in_context/in_context.rb:8
289
+ class RspecInContext::NoContextFound < ::RspecInContext::Error; end
290
+
291
+ # Version of the gem
292
+ #
293
+ # pkg:gem/rspec_in_context#lib/rspec_in_context/version.rb:3
294
+ RspecInContext::VERSION = T.let(T.unsafe(nil), String)