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.
- checksums.yaml +4 -4
- data/.overcommit.yml +4 -7
- data/.rubocop.yml +19 -16
- data/.ruby-version +1 -1
- data/.streerc +1 -0
- data/.tool-versions +1 -1
- data/CHANGELOG.md +60 -1
- data/Gemfile +2 -2
- data/Gemfile.lock +135 -158
- data/README.md +64 -78
- data/docs/MIGRATING.md +69 -0
- data/docs/SPEC.md +245 -0
- data/examples/nonce_store/postgres.rb +40 -0
- data/examples/nonce_store/redis.rb +23 -0
- data/gemfiles/rack_2.gemfile +5 -0
- data/gemfiles/rack_3.gemfile +5 -0
- data/lib/m2m_keygen/canonicalizer.rb +57 -0
- data/lib/m2m_keygen/nonce_store/disabled.rb +19 -0
- data/lib/m2m_keygen/nonce_store/memory.rb +64 -0
- data/lib/m2m_keygen/nonce_store.rb +18 -0
- data/lib/m2m_keygen/rack_validator.rb +72 -19
- data/lib/m2m_keygen/request_signer/signed_request.rb +10 -0
- data/lib/m2m_keygen/request_signer.rb +118 -0
- data/lib/m2m_keygen/signature.rb +41 -39
- data/lib/m2m_keygen/types/params_type.rb +6 -17
- data/lib/m2m_keygen/version.rb +1 -1
- data/lib/m2m_keygen.rb +6 -0
- data/m2m_keygen.gemspec +12 -14
- data/sorbet/config +1 -0
- data/sorbet/rbi/gems/.gitattributes +1 -0
- data/sorbet/rbi/gems/{ast@2.4.2.rbi → ast@2.4.3.rbi} +45 -79
- data/sorbet/rbi/gems/{benchmark@0.2.0.rbi → benchmark@0.5.0.rbi} +91 -58
- data/sorbet/rbi/gems/bundler-audit@0.9.3.rbi +397 -0
- data/sorbet/rbi/gems/byebug@13.0.0.rbi +3651 -0
- data/sorbet/rbi/gems/childprocess@5.1.0.rbi +336 -0
- data/sorbet/rbi/gems/concurrent-ruby@1.3.7.rbi +384 -0
- data/sorbet/rbi/gems/{diff-lcs@1.5.0.rbi → diff-lcs@1.6.2.rbi} +189 -199
- data/sorbet/rbi/gems/{docile@1.4.0.rbi → docile@1.4.1.rbi} +147 -147
- data/sorbet/rbi/gems/dotenv@3.2.0.rbi +267 -0
- data/sorbet/rbi/gems/erubi@1.13.1.rbi +155 -0
- data/sorbet/rbi/gems/{faker@2.22.0.rbi → faker@3.8.0.rbi} +8468 -3829
- data/sorbet/rbi/gems/{ffi@1.15.5.rbi → ffi@1.17.4.rbi} +1 -0
- data/sorbet/rbi/gems/{formatador@1.1.0.rbi → formatador@1.2.3.rbi} +1 -0
- data/sorbet/rbi/gems/{guard@2.18.0.rbi → guard@2.20.1.rbi} +1 -0
- data/sorbet/rbi/gems/{i18n@1.12.0.rbi → i18n@1.15.2.rbi} +687 -827
- data/sorbet/rbi/gems/io-console@0.8.2.rbi +9 -0
- data/sorbet/rbi/gems/{json@2.6.2.rbi → json@2.20.0.rbi} +994 -252
- data/sorbet/rbi/gems/language_server-protocol@3.17.0.5.rbi +9 -0
- data/sorbet/rbi/gems/lint_roller@1.1.0.rbi +189 -0
- data/sorbet/rbi/gems/listen@3.10.0.rbi +9 -0
- data/sorbet/rbi/gems/logger@1.7.0.rbi +896 -0
- data/sorbet/rbi/gems/{lumberjack@1.2.8.rbi → lumberjack@1.4.2.rbi} +1 -0
- data/sorbet/rbi/gems/{method_source@1.0.0.rbi → method_source@1.1.0.rbi} +111 -90
- data/sorbet/rbi/gems/{overcommit@0.59.1.rbi → overcommit@0.71.0.rbi} +503 -647
- data/sorbet/rbi/gems/parallel@2.1.0.rbi +321 -0
- data/sorbet/rbi/gems/parser@3.3.11.1.rbi +5229 -0
- data/sorbet/rbi/gems/prettier_print@1.2.1.rbi +878 -0
- data/sorbet/rbi/gems/prism@1.9.0.rbi +42224 -0
- data/sorbet/rbi/gems/pry-byebug@3.12.0.rbi +481 -0
- data/sorbet/rbi/gems/{pry@0.14.1.rbi → pry@0.16.0.rbi} +2567 -3550
- data/sorbet/rbi/gems/{racc@1.6.0.rbi → racc@1.8.1.rbi} +54 -40
- data/sorbet/rbi/gems/rack@3.2.6.rbi +4653 -0
- data/sorbet/rbi/gems/{rake@13.0.6.rbi → rake@13.4.2.rbi} +963 -732
- data/sorbet/rbi/gems/{rb-inotify@0.10.1.rbi → rb-inotify@0.11.1.rbi} +1 -0
- data/sorbet/rbi/gems/rbi@0.3.14.rbi +5519 -0
- data/sorbet/rbi/gems/rbs@4.0.3.rbi +6908 -0
- data/sorbet/rbi/gems/regexp_parser@2.12.0.rbi +3398 -0
- data/sorbet/rbi/gems/reline@0.6.3.rbi +2446 -0
- data/sorbet/rbi/gems/require-hooks@0.4.0.rbi +152 -0
- data/sorbet/rbi/gems/{rexml@3.2.5.rbi → rexml@3.4.4.rbi} +1085 -894
- data/sorbet/rbi/gems/rspec-core@3.13.6.rbi +9475 -0
- data/sorbet/rbi/gems/rspec-expectations@3.13.5.rbi +6108 -0
- data/sorbet/rbi/gems/rspec-mocks@3.13.8.rbi +4787 -0
- data/sorbet/rbi/gems/rspec-support@3.13.7.rbi +1274 -0
- data/sorbet/rbi/gems/rspec@3.13.2.rbi +15 -0
- data/sorbet/rbi/gems/rspec_in_context@1.2.2.rbi +294 -0
- data/sorbet/rbi/gems/rubocop-ast@1.49.1.rbi +7140 -0
- data/sorbet/rbi/gems/rubocop-faker@1.3.0.rbi +88 -0
- data/sorbet/rbi/gems/rubocop-performance@1.26.1.rbi +3403 -0
- data/sorbet/rbi/gems/rubocop-sorbet@0.12.0.rbi +2448 -0
- data/sorbet/rbi/gems/rubocop@1.88.1.rbi +63103 -0
- data/sorbet/rbi/gems/ruby-lsp@0.26.9.rbi +28 -0
- data/sorbet/rbi/gems/ruby-progressbar@1.13.0.rbi +988 -0
- data/sorbet/rbi/gems/rubydex@0.2.7.rbi +836 -0
- data/sorbet/rbi/gems/simplecov-html@0.13.2.rbi +90 -0
- data/sorbet/rbi/gems/{simplecov@0.21.2.rbi → simplecov@0.22.0.rbi} +438 -578
- data/sorbet/rbi/gems/spoom@1.8.2.rbi +6691 -0
- data/sorbet/rbi/gems/syntax_tree@6.3.0.rbi +22090 -0
- data/sorbet/rbi/gems/tapioca@0.19.2.rbi +3597 -0
- data/sorbet/rbi/gems/{thor@1.2.1.rbi → thor@1.5.0.rbi} +1085 -1171
- data/sorbet/rbi/gems/tsort@0.2.0.rbi +389 -0
- data/sorbet/rbi/gems/unicode-display_width@3.2.0.rbi +130 -0
- data/sorbet/rbi/gems/unicode-emoji@4.2.0.rbi +332 -0
- data/sorbet/rbi/gems/{yard-sorbet@0.7.0.rbi → yard-sorbet@0.9.0.rbi} +142 -99
- data/sorbet/rbi/gems/{yard@0.9.28.rbi → yard@0.9.44.rbi} +5350 -6316
- data/sorbet/rbi/gems/zeitwerk@2.8.2.rbi +1178 -0
- metadata +105 -111
- data/.prettierrc.js +0 -4
- data/docs/M2mKeygen/Error.html +0 -135
- data/docs/M2mKeygen/ParamsEncoder.html +0 -321
- data/docs/M2mKeygen/RackValidator.html +0 -533
- data/docs/M2mKeygen/Signature.html +0 -680
- data/docs/M2mKeygen/Types.html +0 -147
- data/docs/M2mKeygen.html +0 -157
- data/docs/_index.html +0 -182
- data/docs/class_list.html +0 -51
- data/docs/css/common.css +0 -1
- data/docs/css/full_list.css +0 -58
- data/docs/css/style.css +0 -497
- data/docs/file.README.html +0 -230
- data/docs/file_list.html +0 -56
- data/docs/frames.html +0 -17
- data/docs/index.html +0 -230
- data/docs/js/app.js +0 -314
- data/docs/js/full_list.js +0 -216
- data/docs/js/jquery.js +0 -4
- data/docs/method_list.html +0 -139
- data/docs/top-level-namespace.html +0 -110
- data/lib/m2m_keygen/params_encoder.rb +0 -56
- data/package.json +0 -12
- data/sig/m2m_keygen.rbs +0 -4
- data/sorbet/rbi/gems/activesupport@7.0.3.1.rbi +0 -18608
- data/sorbet/rbi/gems/backport@1.2.0.rbi +0 -522
- data/sorbet/rbi/gems/bundler-audit@0.9.1.rbi +0 -308
- data/sorbet/rbi/gems/byebug@11.1.3.rbi +0 -3603
- data/sorbet/rbi/gems/childprocess@4.1.0.rbi +0 -401
- data/sorbet/rbi/gems/concurrent-ruby@1.1.10.rbi +0 -11581
- data/sorbet/rbi/gems/dotenv@2.8.1.rbi +0 -234
- data/sorbet/rbi/gems/e2mmap@0.1.0.rbi +0 -8
- data/sorbet/rbi/gems/haml@5.2.2.rbi +0 -3190
- data/sorbet/rbi/gems/jaro_winkler@1.5.4.rbi +0 -19
- data/sorbet/rbi/gems/kramdown-parser-gfm@1.1.0.rbi +0 -133
- data/sorbet/rbi/gems/kramdown@2.4.0.rbi +0 -3261
- data/sorbet/rbi/gems/listen@3.7.1.rbi +0 -1181
- data/sorbet/rbi/gems/minitest@5.16.3.rbi +0 -1459
- data/sorbet/rbi/gems/nokogiri@1.13.8.rbi +0 -6514
- data/sorbet/rbi/gems/parallel@1.22.1.rbi +0 -277
- data/sorbet/rbi/gems/parser@3.1.2.1.rbi +0 -6826
- data/sorbet/rbi/gems/prettier@3.2.0.rbi +0 -22
- data/sorbet/rbi/gems/prettier_print@0.1.0.rbi +0 -8
- data/sorbet/rbi/gems/pry-byebug@3.10.1.rbi +0 -1222
- data/sorbet/rbi/gems/rack@2.2.4.rbi +0 -5630
- data/sorbet/rbi/gems/rbi@0.0.15.rbi +0 -3007
- data/sorbet/rbi/gems/rbs@2.6.0.rbi +0 -8
- data/sorbet/rbi/gems/regexp_parser@2.5.0.rbi +0 -3366
- data/sorbet/rbi/gems/reverse_markdown@2.1.1.rbi +0 -389
- data/sorbet/rbi/gems/rspec-core@3.11.0.rbi +0 -10786
- data/sorbet/rbi/gems/rspec-expectations@3.11.0.rbi +0 -8170
- data/sorbet/rbi/gems/rspec-mocks@3.11.1.rbi +0 -5385
- data/sorbet/rbi/gems/rspec-support@3.11.0.rbi +0 -1746
- data/sorbet/rbi/gems/rspec@3.11.0.rbi +0 -187
- data/sorbet/rbi/gems/rspec_in_context@1.1.0.3.rbi +0 -1113
- data/sorbet/rbi/gems/rubocop-ast@1.21.0.rbi +0 -7044
- data/sorbet/rbi/gems/rubocop-faker@1.1.0.rbi +0 -106
- data/sorbet/rbi/gems/rubocop-performance@1.14.3.rbi +0 -2982
- data/sorbet/rbi/gems/rubocop-sorbet@0.6.11.rbi +0 -990
- data/sorbet/rbi/gems/rubocop@1.35.1.rbi +0 -52002
- data/sorbet/rbi/gems/ruby-progressbar@1.11.0.rbi +0 -1239
- data/sorbet/rbi/gems/simplecov-html@0.12.3.rbi +0 -219
- data/sorbet/rbi/gems/solargraph@0.46.0.rbi +0 -9075
- data/sorbet/rbi/gems/spoom@1.1.12.rbi +0 -2369
- data/sorbet/rbi/gems/syntax_tree-haml@1.3.1.rbi +0 -8
- data/sorbet/rbi/gems/syntax_tree-rbs@0.5.0.rbi +0 -8
- data/sorbet/rbi/gems/syntax_tree@3.5.0.rbi +0 -8
- data/sorbet/rbi/gems/tapioca@0.9.4.rbi +0 -2946
- data/sorbet/rbi/gems/temple@0.8.2.rbi +0 -1712
- data/sorbet/rbi/gems/tilt@2.0.11.rbi +0 -742
- data/sorbet/rbi/gems/tzinfo@2.0.5.rbi +0 -5914
- data/sorbet/rbi/gems/unicode-display_width@2.2.0.rbi +0 -48
- data/sorbet/rbi/gems/unparser@0.6.5.rbi +0 -4529
- data/sorbet/rbi/gems/webrick@1.7.0.rbi +0 -2553
- data/sorbet/rbi/gems/zeitwerk@2.6.0.rbi +0 -867
- data/sorbet/rbi/manual.rbi +0 -7
- 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)
|