rspec_in_context 1.1.0.1 → 1.1.0.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ffe46e3cf41f69b6c43ba4a1ef3e6582a6b09edadbf23d09bda4e4532eac8ce2
4
- data.tar.gz: eea652b3154c3843894184fbb2168cf181f2dddbd474b209aa6e330a144672b1
3
+ metadata.gz: 1ca1a66bd7153a6e92bdce0697bc4d5aa10b50408d5a628cf16faa415827239d
4
+ data.tar.gz: '0450233344928f09d5e7b1194c46eb07852ab54218591c7073de4ab519268b6e'
5
5
  SHA512:
6
- metadata.gz: bf8e767db2af63f3a4f47abe2cdb2518bf9e5e1de8a67e7da11b4f82b3701e74b72763d5da29271a05e63e4f5ebf2a1e1c4960095ba5c6c8073fc787d7847a9a
7
- data.tar.gz: f3a18c051527c777f7c5defd1880c047381f09c1609fc4941153d9a219a7afdfc5b6ebc4100c70f4cde85b2243ea924000047430e7688f3016d33ba39d57602e
6
+ metadata.gz: 3f61c27dc99d3e451b78d711c9635e4fa864e0409b0037bb409deec8f6613b13d3cd47c5b14a1f42fe357d25fa778efe68e79c5ae9a10b0c1940fd6ba09154ff
7
+ data.tar.gz: f77fe780d427fd4571d75cdc87ee07f540296792abefefe5ffa1061dffb547a91e73d5cc385734889948a99483cc0f2518371f12c4b2a64f06ab749a1abd546c
@@ -19,6 +19,9 @@ Metrics/BlockLength:
19
19
  - 'vendor/bundle'
20
20
  - '*.gemspec'
21
21
 
22
+ Lint/EmptyBlock:
23
+ Enabled: false
24
+
22
25
  Style/GlobalVars:
23
26
  Exclude:
24
27
  - spec/rspec_in_context/in_context_spec.rb
@@ -6,12 +6,16 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
6
6
 
7
7
  ## [Unreleased]
8
8
 
9
- ## [1.0.0.1] - 2020-12-27
9
+ ## [1.1.0.1] - 2020-12-27
10
10
  This is a release in order to test all type of actions
11
11
 
12
12
  ### Added
13
13
  - Cache support in github actions for ease of development
14
14
 
15
+ ## [1.1.0.2] - 2021-01-08
16
+ ### Changed
17
+ - Wrapping silent in_context in anonymous contexts
18
+
15
19
  ## [1.1.0] - 2020-12-27
16
20
  ### Added
17
21
  - **BREAKING** Option to silence in_context block. They used to always wrap themself into a context block with their name. This is not the case anymore. All in_context are silent unless explicitely declared as not.
data/README.md CHANGED
@@ -222,8 +222,9 @@ in_context "namespaced context", ns: "namespace name"
222
222
  #### Making `in_context` adverstise itself
223
223
 
224
224
  The fact that a `in_context` block is used inside the test is silent and invisible by default.
225
+ `in_context` will still wrap its own execution inside a anonymous context.
225
226
 
226
- But, there's some case where it helps to make the `in_context` to wrap its execution in a `context` block.
227
+ But, there's some case where it helps to make the `in_context` to wrap its execution in a named `context` block.
227
228
  For example:
228
229
  ```ruby
229
230
  define_context "with my_var defined" do
@@ -10,7 +10,7 @@ module RspecInContext
10
10
  # @attr [Class] owner current rspec context class. This will be used to know where a define_context has been defined
11
11
  # @attr [String | Symbol] name represent the name by which the context can be find.
12
12
  # @attr [String | Symbol] namespace namespace for context names to avoid collisions
13
- # @attr [Boolean] silent does the in_context should wrap itself into a context with its name upon execution
13
+ # @attr [Boolean] silent does the in_context wrap itself into a context with its name or an anonymous context
14
14
  Context = Struct.new(:block, :owner, :name, :namespace, :silent)
15
15
 
16
16
  # Main module containing almost every methods
@@ -54,7 +54,7 @@ module RspecInContext
54
54
  # Look into every namespace to find the context
55
55
  # @api private
56
56
  def find_context_in_any_namespace(context_name)
57
- valid_namespace = contexts.find{ |_, namespaced_contexts| namespaced_contexts[context_name] }&.last
57
+ valid_namespace = contexts.find { |_, namespaced_contexts| namespaced_contexts[context_name] }&.last
58
58
  valid_namespace[context_name] if valid_namespace
59
59
  end
60
60
 
@@ -62,7 +62,7 @@ module RspecInContext
62
62
  # Delete a context
63
63
  def remove_context(current_class)
64
64
  contexts.each_value do |namespaced_contexts|
65
- namespaced_contexts.delete_if{ |_, context| context.owner == current_class }
65
+ namespaced_contexts.delete_if { |_, context| context.owner == current_class }
66
66
  end
67
67
  end
68
68
 
@@ -87,7 +87,9 @@ module RspecInContext
87
87
  Thread.current[:test_block] = block
88
88
  context_to_exec = InContext.find_context(context_name, namespace)
89
89
  if context_to_exec.silent
90
- return instance_exec(*args, &context_to_exec.block)
90
+ return context do
91
+ instance_exec(*args, &context_to_exec.block)
92
+ end
91
93
  end
92
94
 
93
95
  context(context_name.to_s) do
@@ -103,7 +105,7 @@ module RspecInContext
103
105
  def execute_tests
104
106
  instance_exec(&Thread.current[:test_block]) if Thread.current[:test_block]
105
107
  end
106
- alias_method :instanciate_context, :execute_tests
108
+ alias instanciate_context execute_tests
107
109
 
108
110
  # Let you define a context that can be reused later
109
111
  #
@@ -112,7 +114,7 @@ module RspecInContext
112
114
  # It helps reducing colisions when you define "global" contexts
113
115
  # @param ns [String, Symbol] Alias of namespace
114
116
  # @param block [Proc] Contain the code that will be injected with #in_context later
115
- # @param silent [Boolean] Does the in_context should wrap itself into a context block with its name
117
+ # @param silent [Boolean] Does the in_context wrap itself into a context with its name or an anonymous context
116
118
  # @param print_context [Boolean] Reverse alias of silent
117
119
  #
118
120
  # @note contexts are scoped to the block they are defined in.
@@ -2,5 +2,5 @@
2
2
 
3
3
  module RspecInContext
4
4
  # Version of the gem
5
- VERSION = "1.1.0.1"
5
+ VERSION = '1.1.0.2'
6
6
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rspec_in_context
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.0.1
4
+ version: 1.1.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Denis <Zaratan> Pasin
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-12-27 00:00:00.000000000 Z
11
+ date: 2021-01-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport