bullet_train-api 1.6.7 → 1.6.8

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: 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