fluent_fixtures 0.9.0 → 0.10.0

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: eee92bfee49cce7ea83ea5d38280616573319442d803d1fe427510974abd80f9
4
- data.tar.gz: cc0c25b2f87b7033b01fdd1c47b83915046f5c782d155c2a91a452491c68c195
3
+ metadata.gz: cadce4251b00ed5677abb97143eef4fec4620d1d184c574098c285baf27fde2a
4
+ data.tar.gz: 36ef9c202a398a61360aea328a54566ce2bfa5a1bf33941a13d5257765760470
5
5
  SHA512:
6
- metadata.gz: 42d8f738f4c4bafdd1a750c3229faee3cb68493a2392420004f09c3f795ebda4e0a54552d358e0d93442af6c52971a2d47a6a79507617a1f17fa3242e1c6b5b6
7
- data.tar.gz: 56f682e25e373a04d5426471a3b5c8dea7fc50376f56c9a6a63e44c155955497fe3ecb6d404989769b7f68e1f71f8bcf4b1811dddabc8aaf99f7c450a16a37c1
6
+ metadata.gz: b99c96cc9967cd9784c506121263fa70d839392c55d3457344958c544bbbaf967fc05f8725798271d7a7fb0638a3898524465207763416ed830fcf44216ecf80
7
+ data.tar.gz: 25f442ae66c0fc079fb809ec787e7bc9b3efa1cba4a00fabbfd2661a5333b10ee3a31901ce50e8dfbf526bfecd6d87f84a195c285208898f54f17dc95725431e
checksums.yaml.gz.sig CHANGED
Binary file
data/History.md CHANGED
@@ -1,6 +1,12 @@
1
1
  # Release History for fluent_fixtures
2
2
 
3
3
  ---
4
+ ## v0.10.0 [2022-04-10] Michael Granger <ged@faeriemud.org>
5
+
6
+ Enhancements:
7
+
8
+ - Fix keyword argument decorators in Ruby 3.0. Thanks to rob.galanakis@gmail.com for the patch.
9
+
4
10
 
5
11
  ## v0.9.0 [2020-11-02] Michael Granger <ged@FaerieMUD.org>
6
12
 
@@ -190,7 +190,13 @@ class FluentFixtures::Factory
190
190
  self.apply_prelude( instance, decorator_options[:prelude] ) if decorator_options[:prelude]
191
191
 
192
192
  instance = self.try_to_save( instance ) if decorator_options[:presave]
193
- instance.instance_exec( *args, &decorator_block )
193
+ if args[-1].is_a?(Hash)
194
+ kwargs = args[-1]
195
+ args = args[0..-2]
196
+ else
197
+ kwargs = {}
198
+ end
199
+ instance.instance_exec( *args, **kwargs, &decorator_block )
194
200
 
195
201
  return instance
196
202
  end
@@ -24,7 +24,7 @@ module FluentFixtures
24
24
 
25
25
 
26
26
  # Package version
27
- VERSION = '0.9.0'
27
+ VERSION = '0.10.0'
28
28
 
29
29
  # Version control revision
30
30
  REVISION = %q$Revision$
@@ -336,6 +336,38 @@ RSpec.describe FluentFixtures::Factory do
336
336
  end
337
337
 
338
338
 
339
+ it "handles keyword-only decorators" do
340
+ fixture_module.decorator( :set_fields ) do |name: nil, email: nil|
341
+ self.name = name
342
+ self.email = email
343
+ end
344
+
345
+ object = factory.set_fields( name: 'x', email: 'a@b.c' ).instance
346
+
347
+ expect( object ).to be_a( fixtured_class )
348
+ expect( object.name ).to eq( 'x' )
349
+ expect( object.email ).to eq( 'a@b.c' )
350
+ expect( object ).to_not be_saved
351
+ end
352
+
353
+
354
+ it "handles mixed position and keyword decorators" do
355
+ fixture_module.decorator( :set_fields ) do |arg1, arg2=2, kwarg: nil|
356
+ self.name = arg1
357
+ self.email = arg2
358
+ self.login = kwarg
359
+ end
360
+
361
+ object = factory.set_fields( 'x', 'a@b.c', kwarg: 'mylogin' ).instance
362
+
363
+ expect( object ).to be_a( fixtured_class )
364
+ expect( object.name ).to eq( 'x' )
365
+ expect( object.email ).to eq( 'a@b.c' )
366
+ expect( object.login ).to eq( 'mylogin' )
367
+ expect( object ).to_not be_saved
368
+ end
369
+
370
+
339
371
  describe "enumerator/generator" do
340
372
 
341
373
  it "is Enumerable" do
data.tar.gz.sig CHANGED
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fluent_fixtures
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.0
4
+ version: 0.10.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Michael Granger
@@ -10,9 +10,9 @@ bindir: bin
10
10
  cert_chain:
11
11
  - |
12
12
  -----BEGIN CERTIFICATE-----
13
- MIID+DCCAmCgAwIBAgIBAjANBgkqhkiG9w0BAQsFADAiMSAwHgYDVQQDDBdnZWQv
14
- REM9RmFlcmllTVVEL0RDPW9yZzAeFw0xOTEyMjQyMDE5NTFaFw0yMDEyMjMyMDE5
15
- NTFaMCIxIDAeBgNVBAMMF2dlZC9EQz1GYWVyaWVNVUQvREM9b3JnMIIBojANBgkq
13
+ MIID+DCCAmCgAwIBAgIBBDANBgkqhkiG9w0BAQsFADAiMSAwHgYDVQQDDBdnZWQv
14
+ REM9RmFlcmllTVVEL0RDPW9yZzAeFw0yMjAxMDcyMzU4MTRaFw0yMzAxMDcyMzU4
15
+ MTRaMCIxIDAeBgNVBAMMF2dlZC9EQz1GYWVyaWVNVUQvREM9b3JnMIIBojANBgkq
16
16
  hkiG9w0BAQEFAAOCAY8AMIIBigKCAYEAvyVhkRzvlEs0fe7145BYLfN6njX9ih5H
17
17
  L60U0p0euIurpv84op9CNKF9tx+1WKwyQvQP7qFGuZxkSUuWcP/sFhDXL1lWUuIl
18
18
  M4uHbGCRmOshDrF4dgnBeOvkHr1fIhPlJm5FO+Vew8tSQmlDsosxLUx+VB7DrVFO
@@ -23,17 +23,17 @@ cert_chain:
23
23
  ozilJg4aar2okb/RA6VS87o+d7g6LpDDMMQjH4G9OPnJENLdhu8KnPw/ivSVvQw7
24
24
  N2I4L/ZOIe2DIVuYH7aLHfjZDQv/mNgpAgMBAAGjOTA3MAkGA1UdEwQCMAAwCwYD
25
25
  VR0PBAQDAgSwMB0GA1UdDgQWBBRyjf55EbrHagiRLqt5YAd3yb8k4DANBgkqhkiG
26
- 9w0BAQsFAAOCAYEAifxlz7x0EfT3fjhM520ZEIrWa+tLMuLKNefkY18u8tZnx4EX
27
- Xxwh3tna3fvNfrOrdY5leIj1dbv4FTRg+gIBnIxAySqvpGvI/Axg5EdYbwninCLL
28
- LAKCmRo+5QwaPMYN2zdHIjGrp8jg1neCo5zy6tVvyTv0DMI6FLrydVJYduMMDFSy
29
- gQKR1rVOcCJtnBnLCF9+kKEUKohAHOmGsE7OBZFnjMIpH5yUDUVJKByv0gIipFt0
30
- 1T6zff6oVU0w8WBiNKR381+6sF3wIZVnVY0XeJg6hNL+YecE8ILxLhHTmtT/BO0S
31
- 3xPze9uXDR+iD6HYl8KU5QEg/dXFPhfQb512vVkTJDZvMcwu6PxDUjHFChLjAji/
32
- AZXjg1C5E9znTkeUR8ieU9F1MOKoiH57a5lYSTI8Ga8PpsNXTxNeXc16Ob26CqrJ
33
- 83uuAYSy65yXDGXXPVBeKPVnYrqp91pqpS5Nh7wfuiCrE8lgU8PATh7K4BV1UhAT
34
- 0MHbAT42wTYkfUj3
26
+ 9w0BAQsFAAOCAYEASrm1AbEoxACZ9WXJH3R5axV3U0CA4xaETlL2YT+2nOfVBMQ9
27
+ 0ZlkPx6j4ghKJgAIi1TMfDM2JyPJsppQh8tiNccDjWc62UZRY/dq26cMqf/lcI+a
28
+ 6YBuEYvzZfearwVs8tHnXtwYV3WSCoCOQaB+nq2lA1O+nkKNl41WOsVbNama5jx3
29
+ 8cQtVSEEmZy6jIDJ8c5TmBJ7BQUDEUEWA/A3V42Xyctoj7DvUXWE0lP+X6ypAVSr
30
+ lFh3TS64D7NTvxkmg7natUoCvobl6kGl4yMaqE4YRTlfuzhpf91TSOntClqrAOsS
31
+ K1s56WndQj3IoBocdY9mQhDZLtLHofSkymoP8btBlj5SsN24TiF0VMSZlctSCYZg
32
+ GKyHim/MMlIfGOWsgfioq5jzwmql7W4CDubbb8Lkg70v+hN2E/MnNVAcNE3gyaGc
33
+ P5YP5BAbNW+gvd3QHRiWTTuhgHrdDnGdXg93N2M5KHn1ug8BtPLQwlcFwEpKnlLn
34
+ btEP+7EplFuoiMfd
35
35
  -----END CERTIFICATE-----
36
- date: 2020-11-02 00:00:00.000000000 Z
36
+ date: 2022-04-10 00:00:00.000000000 Z
37
37
  dependencies:
38
38
  - !ruby/object:Gem::Dependency
39
39
  name: faker
@@ -105,6 +105,20 @@ dependencies:
105
105
  - - "~>"
106
106
  - !ruby/object:Gem::Version
107
107
  version: '0.4'
108
+ - !ruby/object:Gem::Dependency
109
+ name: i18n
110
+ requirement: !ruby/object:Gem::Requirement
111
+ requirements:
112
+ - - ">="
113
+ - !ruby/object:Gem::Version
114
+ version: 1.8.11
115
+ type: :development
116
+ prerelease: false
117
+ version_requirements: !ruby/object:Gem::Requirement
118
+ requirements:
119
+ - - ">="
120
+ - !ruby/object:Gem::Version
121
+ version: 1.8.11
108
122
  description: FluentFixtures is a toolkit for building testing objects with a fluent
109
123
  interface.
110
124
  email:
@@ -155,7 +169,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
155
169
  - !ruby/object:Gem::Version
156
170
  version: '0'
157
171
  requirements: []
158
- rubygems_version: 3.1.2
172
+ rubygems_version: 3.3.7
159
173
  signing_key:
160
174
  specification_version: 4
161
175
  summary: FluentFixtures is a toolkit for building testing objects with a fluent interface.
metadata.gz.sig CHANGED
Binary file