fixture_kit 0.8.0 → 0.9.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ed0ea806a1b28f87c19ac24766790a392042ea6e4bd4888e9c7dd6e0787b70ec
4
- data.tar.gz: f726a2965d20fbcd35b12f561186b1130bd32cc1b0825877ef0900e824867170
3
+ metadata.gz: 88d0180f3f9f71e9ed9546d271dafbd0f29d4b468e0720281a84ddec29757e9a
4
+ data.tar.gz: 1d977134a7bc00fb605110489d3dea4d262cc67bed576dd536c93ea5b1bcd1a7
5
5
  SHA512:
6
- metadata.gz: 3bf15388944864caa344d383733162ba262c6198be2845b1a8ada616966c725bbd0515daaf3788ab4a53564148cc18b10bef244980c2fc6f8d6993f7d252b1df
7
- data.tar.gz: c4b2530715dc65912c6fb5f22ece5f4b1cf76bd4bb20e816242365c8ef2c53f9936dc57eb48092205228afe079a1782626ce241b9183b24d37b31a1d87758d8c
6
+ metadata.gz: a6fea52776d34437dfab5e892d8185d63894bf9f45a8a0dc8c53ff435ef343ce7a3b90891166ef63a760b4c5bcec5a7d6c6a4ab7b4e077f53366a9b2dfcc2563
7
+ data.tar.gz: 2fb7a08b6657e1e23dfe165e919cfd30fbb08b626d40e3ff81672db94795346ec7082afc39d107c17a40ebc79169b9325f60d3e9ef9281b17f73994eceb633d6
@@ -11,7 +11,7 @@ module FixtureKit
11
11
  def execute(&block)
12
12
  test_class = build_test_class
13
13
  test_method = test_class.test(TEST_NAME) do
14
- block.call
14
+ block.call(self)
15
15
  pass
16
16
  end
17
17
 
@@ -8,11 +8,10 @@ module FixtureKit
8
8
  previous_example = ::RSpec.current_example
9
9
  previous_scope = ::RSpec.current_scope
10
10
  example_group = build_example_group
11
- example = example_group.example { block.call }
12
- instance = example_group.new
11
+ example = example_group.example { block.call(self) }
13
12
  succeeded =
14
13
  begin
15
- example.run(instance, ::RSpec::Core::NullReporter)
14
+ example.run(example_group.new, ::RSpec::Core::NullReporter)
16
15
  ensure
17
16
  ::RSpec.current_example = previous_example
18
17
  ::RSpec.current_scope = previous_scope
@@ -54,9 +54,9 @@ module FixtureKit
54
54
  end
55
55
 
56
56
  def save
57
- FixtureKit.runner.adapter.execute do
57
+ FixtureKit.runner.adapter.execute do |context|
58
58
  models = SqlSubscriber.capture do
59
- fixture.definition.evaluate
59
+ fixture.definition.evaluate(context)
60
60
  end
61
61
 
62
62
  @data = {
@@ -10,8 +10,9 @@ module FixtureKit
10
10
  @exposed = {}
11
11
  end
12
12
 
13
- def evaluate
14
- instance_eval(&@definition)
13
+ def evaluate(context)
14
+ context.singleton_class.prepend(mixin)
15
+ context.instance_exec(&@definition)
15
16
  end
16
17
 
17
18
  def expose(**records)
@@ -23,5 +24,17 @@ module FixtureKit
23
24
  @exposed[name] = record
24
25
  end
25
26
  end
27
+
28
+ private
29
+
30
+ def mixin
31
+ definition = self
32
+
33
+ Module.new do
34
+ define_method(:expose) do |**records|
35
+ definition.expose(**records)
36
+ end
37
+ end
38
+ end
26
39
  end
27
40
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module FixtureKit
4
- VERSION = "0.8.0"
4
+ VERSION = "0.9.0"
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fixture_kit
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.8.0
4
+ version: 0.9.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ngan Pham