stockpot 0.4.2 → 0.4.3

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