bullet_train-api 1.6.7 → 1.6.8

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: 7d6fe11ab5aa5d9d494468fe54d0b74f67bafa1767abba128d9c00f42b7f299c
4
- data.tar.gz: 7884c17f7768e1660215d64a8341ce9889acbe2631c10e20563fa4c320d20351
3
+ metadata.gz: 71e10868022a17ec813db4d80d8de016516e00baad4a23e8503d5265fa444986
4
+ data.tar.gz: 63e1f768b2537bf68488497c988bec2e09443126aed5d0db10ac39df5a0f75de
5
5
  SHA512:
6
- metadata.gz: 47ce53de8e3f135eecf35a1106bd32de1ac9652cce4600af4d0cb5b5b8e1599af37c7a4ec9142bea66c6abbd2054641fe7f2571a46405eeae873670470d84de9
7
- data.tar.gz: 3e86c914e5c129c2fd5834540707890413724ed689233ebdf7e044f407211a578f44407a1110ce70065bd662bc9c2d565be02e7e1afbccee099070fef18fdbd9
6
+ metadata.gz: 2db519d985a0ca12967afa2c48bf3beef108610667bea1cc6f901cfb62eb4893fc6611c12f78355623e79d0ebf1a11ec4b3ba7c4f1ea126e41a082ec7b0e4010
7
+ data.tar.gz: 8895f0ef2a6bc9c203563b537a8b919385c8f64d30482786693573a3cfff26a317f27be0c697cfd8de70ea101151e054a217c07cc9a819d5e3d03f92f7b5a34b
@@ -2,43 +2,12 @@ require_relative "../../../app/helpers/api/open_api_helper"
2
2
 
3
3
  module FactoryBot
4
4
  module ExampleBot
5
- attr_accessor :tables_to_reset
6
-
7
- def example(model, **)
8
- @tables_to_reset = [model.to_s.pluralize]
9
-
10
- object = nil
11
-
12
- ActiveRecord::Base.transaction do
13
- instance = FactoryBot.create(factory(model), **)
14
- object = deep_clone(instance)
15
-
16
- raise ActiveRecord::Rollback
17
- end
18
-
19
- object
20
- ensure
21
- reset_tables!
5
+ def example(model, **options)
6
+ FactoryBot.build(factory(model), **options)
22
7
  end
23
8
 
24
- def example_list(model, quantity, **)
25
- @tables_to_reset = [model.to_s.pluralize]
26
-
27
- objects = []
28
-
29
- ActiveRecord::Base.transaction do
30
- instances = FactoryBot.create_list(factory(model), quantity, **)
31
-
32
- instances.each do |instance|
33
- objects << deep_clone(instance)
34
- end
35
-
36
- raise ActiveRecord::Rollback
37
- end
38
-
39
- objects
40
- ensure
41
- reset_tables!
9
+ def example_list(model, quantity, **options)
10
+ FactoryBot.build_list(factory(model), quantity, **options)
42
11
  end
43
12
 
44
13
  REST_METHODS = %i[get_examples get_example post_example post_parameters put_example put_parameters patch_example patch_parameters]
@@ -56,43 +25,6 @@ module FactoryBot
56
25
  factories.include?("#{model}_example") ? "#{model}_example".to_sym : model
57
26
  end
58
27
 
59
- def reset_tables!
60
- # This is only available for postgres
61
- return unless @tables_to_reset.present?
62
-
63
- return unless ActiveRecord::Base.connection.respond_to?(:reset_pk_sequence!)
64
-
65
- @tables_to_reset.each do |name|
66
- ActiveRecord::Base.connection.reset_pk_sequence!(name) if ActiveRecord::Base.connection.table_exists?(name)
67
- end
68
- end
69
-
70
- def deep_clone(instance)
71
- clone = instance.clone
72
-
73
- instance.class.reflections.each do |name, reflection|
74
- if reflection.macro == :has_many
75
- associations = instance.send(name).map { |association| association.clone }
76
- clone.send("#{name}=", associations)
77
- @tables_to_reset << name
78
- elsif %i[belongs_to has_one].include?(reflection.macro)
79
- # Calling e.g. address.team= throws an error,
80
- # if address has_one team through person
81
- # and person has_one team through company
82
- # and company belongs_to team
83
- # so the resulting error will be caught here and a warning logged.
84
- begin
85
- clone.send("#{name}=", instance.send(name).clone)
86
- @tables_to_reset << name.pluralize
87
- rescue ActiveRecord::HasOneThroughNestedAssociationsAreReadonly
88
- Rails.logger.warn("ExampleBot.deep_clone ignored setting #{name} of #{instance}")
89
- end
90
- end
91
- end
92
-
93
- clone
94
- end
95
-
96
28
  include ::Api::OpenApiHelper
97
29
  def _path_examples(method, model, **options)
98
30
  version = options.delete(:version) || "v1"
@@ -1,5 +1,5 @@
1
1
  module BulletTrain
2
2
  module Api
3
- VERSION = "1.6.7"
3
+ VERSION = "1.6.8"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bullet_train-api
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.6.7
4
+ version: 1.6.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Andrew Culver
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-10-23 00:00:00.000000000 Z
11
+ date: 2023-11-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: standard
@@ -98,16 +98,16 @@ dependencies:
98
98
  name: jbuilder-schema
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
- - - ">="
101
+ - - "~>"
102
102
  - !ruby/object:Gem::Version
103
- version: 2.4.0
103
+ version: 2.6.1
104
104
  type: :runtime
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
- - - ">="
108
+ - - "~>"
109
109
  - !ruby/object:Gem::Version
110
- version: 2.4.0
110
+ version: 2.6.1
111
111
  - !ruby/object:Gem::Dependency
112
112
  name: factory_bot
113
113
  requirement: !ruby/object:Gem::Requirement