stockpot 0.4.2 → 0.4.3

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: 35586181cc1a1e03a7ca543171ea6d05fa572e403d8c17604619088e8642744b
4
- data.tar.gz: dc6f55274b50b51586b26f822d65b562deaa6307009d5b8d53c06127ba1faf7c
3
+ metadata.gz: e055ab2e9c7448a3a876f2dd91b92abf07f85a934f58a1a06cc1b142fa9a716f
4
+ data.tar.gz: 7fcbed7483835ad4add9288eaf4a6aa93c608829c24b7a762d71d52ff444cd39
5
5
  SHA512:
6
- metadata.gz: a26a25b375412d81355095f6ce82804024b2843f5353ad66456e061b83639d4ead3327073b893a1be9c8c46094a0cd351240ef1e882ab2a37e73703cf61fc9a8
7
- data.tar.gz: '098249ae8ae84a52a5067f25b2fab86b93c8db6cc6dc91e880271455b5a166fc4ee41137f962d6619b233f4fdd1d0da05e1c51a7d773ca43060428a84ffe59ad'
6
+ metadata.gz: f0057713be313d5d886eb72fbb211e7b1dc9b33e79299fc9c2b58330767f328beac1bac27f35f150f864f0076ca86a448a00f79ae744e16de079005c1ecc71cd
7
+ data.tar.gz: 32a2c201e11616b21bcf4bb9ff61a54d53a9f6bfa1724b62ff970bd97bbf3847b3e5244751623599074d8a2493b000e2b30dd7a3fcd9088044aa68afcd3b60c3
@@ -1,29 +1,25 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require "database_cleaner"
4
-
5
3
  module Stockpot
6
4
  class DatabaseCleanerController < MainController
7
5
  # Clean database before, between, and after tests by clearing Rails
8
6
  # and REDIS caches and truncating the active record database.
9
7
  def index
10
- clear_cache
11
- clean_active_record
8
+ clear_cache_and_redis
9
+ clean_database
12
10
  render json: { status: 204 }
13
11
  end
14
12
 
15
13
  private
16
14
 
17
- def clear_cache
18
- DatabaseCleaner[:redis].clean_with(:truncation)
19
- REDIS.flushdb
15
+ def clear_cache_and_redis
16
+ DatabaseCleaner[:redis].clean_with(:deletion)
20
17
  Rails.cache.clear
21
18
  Timecop.return
22
19
  end
23
20
 
24
- def clean_active_record
21
+ def clean_database
25
22
  DatabaseCleaner[:active_record].clean_with(:truncation)
26
- DatabaseCleaner.clean_with(:truncation)
27
23
  end
28
24
  end
29
25
  end
@@ -1,4 +1,5 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  module Stockpot
3
4
  class HealthzController < MainController
4
5
  def index
@@ -1,24 +1,28 @@
1
1
  # frozen_string_literal: true
2
+
3
+ require "pg"
4
+ require "active_record"
5
+
2
6
  module Stockpot
3
7
  module Helper
4
8
  module Errors
5
9
  def rescue_error(error)
6
- logger = Logger.new(STDERR)
10
+ logger = Logger.new($stderr)
7
11
  logger.warn(error)
8
12
 
9
13
  case error
10
14
  when NameError
11
- return_error(error.message, error.backtrace.first(5), :bad_request)
15
+ return_error(error.message, :bad_request, error.backtrace.first(5))
12
16
  when PG::Error
13
- return_error("Postgres error: #{error.message}", error.backtrace.first(5), :internal_server_error)
17
+ return_error("Postgres error: #{error.message}", :internal_server_error, error.backtrace.first(5))
14
18
  when ActiveRecord::RecordInvalid, ActiveRecord::Validations, ActiveRecord::RecordNotDestroyed
15
- return_error("In #{error.record.class} class, #{error.message}", error.backtrace.first(5), :expectation_failed)
19
+ return_error(%q(In "#{error.record.class}" class: "#{error.message}"), :expectation_failed, error.backtrace.first(5))
16
20
  else
17
- return_error(error.message, error.backtrace.first(5),:internal_server_error)
21
+ return_error(error.message, :internal_server_error, error.backtrace.first(5))
18
22
  end
19
23
  end
20
24
 
21
- def return_error(message, backtrace, status)
25
+ def return_error(message, status, backtrace = "No backtrace")
22
26
  render json: { error: { status: status, backtrace: backtrace, message: message }}, status: status
23
27
  end
24
28
  end
@@ -1,4 +1,5 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  module Stockpot
3
4
  class MainController < ActionController::API
4
5
  include ActiveSupport::Rescuable
@@ -1,17 +1,19 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  require "factory_bot_rails"
3
- require "active_record/persistence"
4
+ require "active_record/transactions"
4
5
 
5
6
  module Stockpot
6
7
  class RecordsController < MainController
7
8
  include ActiveSupport::Inflector
8
9
  include ActiveRecord::Transactions
10
+ include Helper::Errors
9
11
 
10
12
  before_action only: %i[index destroy update] do
11
- return_error("You need to provide at least one model name as an argument", 400) if params.dig(:models).blank?
13
+ return_error("You need to provide at least one model name as an argument", 400) if params[:models].blank?
12
14
  end
13
15
  before_action only: %i[create] do
14
- return_error("You need to provide at least one factory name as an argument", 400) if params.dig(:factories).blank?
16
+ return_error("You need to provide at least one factory name as an argument", 400) if params[:factories].blank?
15
17
  end
16
18
  before_action do
17
19
  @response_data = {}
@@ -1,4 +1,5 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  module Stockpot
3
4
  class RedisController < MainController
4
5
  def index
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Stockpot
4
- VERSION = "0.4.2"
4
+ VERSION = "0.4.3"
5
5
  end
metadata CHANGED
@@ -1,206 +1,220 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: stockpot
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.2
4
+ version: 0.4.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jayson Smith
8
+ - Brian Herman
9
+ - Derek Campbell
10
+ - Victor Santana
8
11
  autorequire:
9
12
  bindir: bin
10
13
  cert_chain: []
11
- date: 2020-06-04 00:00:00.000000000 Z
14
+ date: 2021-10-26 00:00:00.000000000 Z
12
15
  dependencies:
13
16
  - !ruby/object:Gem::Dependency
14
17
  name: rails
15
18
  requirement: !ruby/object:Gem::Requirement
16
19
  requirements:
17
- - - ">="
20
+ - - "~>"
18
21
  - !ruby/object:Gem::Version
19
- version: 5.2.3
22
+ version: 6.1.4
20
23
  type: :runtime
21
24
  prerelease: false
22
25
  version_requirements: !ruby/object:Gem::Requirement
23
26
  requirements:
24
- - - ">="
27
+ - - "~>"
25
28
  - !ruby/object:Gem::Version
26
- version: 5.2.3
29
+ version: 6.1.4
27
30
  - !ruby/object:Gem::Dependency
28
31
  name: factory_bot_rails
29
32
  requirement: !ruby/object:Gem::Requirement
30
33
  requirements:
31
34
  - - "~>"
32
35
  - !ruby/object:Gem::Version
33
- version: 5.1.0
36
+ version: 6.2.0
37
+ type: :runtime
38
+ prerelease: false
39
+ version_requirements: !ruby/object:Gem::Requirement
40
+ requirements:
41
+ - - "~>"
42
+ - !ruby/object:Gem::Version
43
+ version: 6.2.0
44
+ - !ruby/object:Gem::Dependency
45
+ name: database_cleaner-active_record
46
+ requirement: !ruby/object:Gem::Requirement
47
+ requirements:
48
+ - - "~>"
49
+ - !ruby/object:Gem::Version
50
+ version: 2.0.1
34
51
  type: :runtime
35
52
  prerelease: false
36
53
  version_requirements: !ruby/object:Gem::Requirement
37
54
  requirements:
38
55
  - - "~>"
39
56
  - !ruby/object:Gem::Version
40
- version: 5.1.0
57
+ version: 2.0.1
41
58
  - !ruby/object:Gem::Dependency
42
- name: database_cleaner
59
+ name: database_cleaner-redis
43
60
  requirement: !ruby/object:Gem::Requirement
44
61
  requirements:
45
62
  - - "~>"
46
63
  - !ruby/object:Gem::Version
47
- version: 1.6.2
64
+ version: 2.0.0
48
65
  type: :runtime
49
66
  prerelease: false
50
67
  version_requirements: !ruby/object:Gem::Requirement
51
68
  requirements:
52
69
  - - "~>"
53
70
  - !ruby/object:Gem::Version
54
- version: 1.6.2
71
+ version: 2.0.0
55
72
  - !ruby/object:Gem::Dependency
56
73
  name: redis
57
74
  requirement: !ruby/object:Gem::Requirement
58
75
  requirements:
59
- - - ">="
76
+ - - "~>"
60
77
  - !ruby/object:Gem::Version
61
- version: 3.3.5
78
+ version: 4.4.0
62
79
  type: :runtime
63
80
  prerelease: false
64
81
  version_requirements: !ruby/object:Gem::Requirement
65
82
  requirements:
66
- - - ">="
83
+ - - "~>"
67
84
  - !ruby/object:Gem::Version
68
- version: 3.3.5
85
+ version: 4.4.0
69
86
  - !ruby/object:Gem::Dependency
70
87
  name: timecop
71
88
  requirement: !ruby/object:Gem::Requirement
72
89
  requirements:
73
90
  - - "~>"
74
91
  - !ruby/object:Gem::Version
75
- version: '0.8'
92
+ version: 0.9.4
76
93
  type: :runtime
77
94
  prerelease: false
78
95
  version_requirements: !ruby/object:Gem::Requirement
79
96
  requirements:
80
97
  - - "~>"
81
98
  - !ruby/object:Gem::Version
82
- version: '0.8'
99
+ version: 0.9.4
83
100
  - !ruby/object:Gem::Dependency
84
101
  name: pry-byebug
85
102
  requirement: !ruby/object:Gem::Requirement
86
103
  requirements:
87
104
  - - "~>"
88
105
  - !ruby/object:Gem::Version
89
- version: '3.7'
106
+ version: '3.9'
90
107
  type: :development
91
108
  prerelease: false
92
109
  version_requirements: !ruby/object:Gem::Requirement
93
110
  requirements:
94
111
  - - "~>"
95
112
  - !ruby/object:Gem::Version
96
- version: '3.7'
113
+ version: '3.9'
97
114
  - !ruby/object:Gem::Dependency
98
- name: rake
115
+ name: pry
99
116
  requirement: !ruby/object:Gem::Requirement
100
117
  requirements:
101
118
  - - "~>"
102
119
  - !ruby/object:Gem::Version
103
- version: '13.0'
104
- - - ">="
105
- - !ruby/object:Gem::Version
106
- version: 13.0.1
120
+ version: 0.13.0
107
121
  type: :development
108
122
  prerelease: false
109
123
  version_requirements: !ruby/object:Gem::Requirement
110
124
  requirements:
111
125
  - - "~>"
112
126
  - !ruby/object:Gem::Version
113
- version: '13.0'
114
- - - ">="
115
- - !ruby/object:Gem::Version
116
- version: 13.0.1
127
+ version: 0.13.0
117
128
  - !ruby/object:Gem::Dependency
118
- name: rspec
129
+ name: rake
119
130
  requirement: !ruby/object:Gem::Requirement
120
131
  requirements:
121
132
  - - "~>"
122
133
  - !ruby/object:Gem::Version
123
- version: '3.9'
134
+ version: 13.0.6
124
135
  type: :development
125
136
  prerelease: false
126
137
  version_requirements: !ruby/object:Gem::Requirement
127
138
  requirements:
128
139
  - - "~>"
129
140
  - !ruby/object:Gem::Version
130
- version: '3.9'
141
+ version: 13.0.6
131
142
  - !ruby/object:Gem::Dependency
132
143
  name: rspec-rails
133
144
  requirement: !ruby/object:Gem::Requirement
134
145
  requirements:
135
146
  - - "~>"
136
147
  - !ruby/object:Gem::Version
137
- version: '3.9'
148
+ version: 5.0.2
138
149
  type: :development
139
150
  prerelease: false
140
151
  version_requirements: !ruby/object:Gem::Requirement
141
152
  requirements:
142
153
  - - "~>"
143
154
  - !ruby/object:Gem::Version
144
- version: '3.9'
155
+ version: 5.0.2
145
156
  - !ruby/object:Gem::Dependency
146
157
  name: spicerack-styleguide
147
158
  requirement: !ruby/object:Gem::Requirement
148
159
  requirements:
149
160
  - - ">="
150
161
  - !ruby/object:Gem::Version
151
- version: 0.21.0
152
- - - "<"
153
- - !ruby/object:Gem::Version
154
- version: '1.0'
162
+ version: 0.26.0.4
155
163
  type: :development
156
164
  prerelease: false
157
165
  version_requirements: !ruby/object:Gem::Requirement
158
166
  requirements:
159
167
  - - ">="
160
168
  - !ruby/object:Gem::Version
161
- version: 0.21.0
162
- - - "<"
163
- - !ruby/object:Gem::Version
164
- version: '1.0'
169
+ version: 0.26.0.4
165
170
  - !ruby/object:Gem::Dependency
166
171
  name: shoulda-matchers
167
172
  requirement: !ruby/object:Gem::Requirement
168
173
  requirements:
169
174
  - - "~>"
170
175
  - !ruby/object:Gem::Version
171
- version: '4.1'
172
- - - ">="
173
- - !ruby/object:Gem::Version
174
- version: 4.1.2
176
+ version: 5.0.0
175
177
  type: :development
176
178
  prerelease: false
177
179
  version_requirements: !ruby/object:Gem::Requirement
178
180
  requirements:
179
181
  - - "~>"
180
182
  - !ruby/object:Gem::Version
181
- version: '4.1'
182
- - - ">="
183
- - !ruby/object:Gem::Version
184
- version: 4.1.2
183
+ version: 5.0.0
185
184
  - !ruby/object:Gem::Dependency
186
185
  name: simplecov
187
186
  requirement: !ruby/object:Gem::Requirement
188
187
  requirements:
189
188
  - - "~>"
190
189
  - !ruby/object:Gem::Version
191
- version: 0.17.1
190
+ version: 0.21.2
191
+ type: :development
192
+ prerelease: false
193
+ version_requirements: !ruby/object:Gem::Requirement
194
+ requirements:
195
+ - - "~>"
196
+ - !ruby/object:Gem::Version
197
+ version: 0.21.2
198
+ - !ruby/object:Gem::Dependency
199
+ name: pg
200
+ requirement: !ruby/object:Gem::Requirement
201
+ requirements:
202
+ - - "~>"
203
+ - !ruby/object:Gem::Version
204
+ version: 1.2.3
192
205
  type: :development
193
206
  prerelease: false
194
207
  version_requirements: !ruby/object:Gem::Requirement
195
208
  requirements:
196
209
  - - "~>"
197
210
  - !ruby/object:Gem::Version
198
- version: 0.17.1
211
+ version: 1.2.3
199
212
  description: 'Exposes a few end points from your app, easily enabling CRUD actions
200
213
  on your database that you can utilize from things like a standalone test suite to
201
214
  set up state. (think: Cypress, Cucumber, etc.)'
202
215
  email:
203
216
  - gh@nes.33mail.com
217
+ - victorfrank.santanalugo@gmail.com
204
218
  executables: []
205
219
  extensions: []
206
220
  extra_rdoc_files: []
@@ -240,7 +254,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
240
254
  - !ruby/object:Gem::Version
241
255
  version: '0'
242
256
  requirements: []
243
- rubygems_version: 3.0.3
257
+ rubygems_version: 3.1.6
244
258
  signing_key:
245
259
  specification_version: 4
246
260
  summary: Makes setting up test data in your Rails database from an external resource