super_test_engine 0.0.6 → 0.0.7

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: 9c8180d8dd33f99eb0442bb67751b0722b11d453679df0852587ef0f74c5c9a7
4
- data.tar.gz: d3656c32d72e55007163f578c6c3d9671b81c98e20505f76bfd69215ef1ab55d
3
+ metadata.gz: 2dc6a9894f99f19f9138de77bf51bcb7da106eef8a69c6a69464ccbe33d90c71
4
+ data.tar.gz: e229f4f534422f93c47d2a3a8b3c45edb2b8c869f2b970ff10da36c5238ab182
5
5
  SHA512:
6
- metadata.gz: 63150cc18e312cd009bd9bb06f89512b621813fad701d16f33bb6bea3a8f6f6aa523c6e5656059cc45c428ad54e98427b9446ae672c840801040287db4d7708a
7
- data.tar.gz: 8956150cb78092261446188ba9434a001aa51a2a3f5c1ba6bc29f97983e09cd820253b6511c522167bc6a7956d60632189dc852d92474a8265b938a8e41289e6
6
+ metadata.gz: a3015b0d16174ffb3e388cb6abebf9844eeac00a743bdcfd6b184fda43a14c4c0eca09ab3a3e63f377b693bbe63524a6dc8eb23442c6cfc28d901581faf6fc08
7
+ data.tar.gz: 3cd97a3552ddfe03ea3de4503f92b9e44f2107eda081ff6f95d3f2ed238875cf8855a54b996263ca60c6a57cc072879256c24d5ced3c6669ccbb4c496bf87930
@@ -0,0 +1,9 @@
1
+ module Admin
2
+ class ShipsController < AdminController
3
+ private
4
+
5
+ def dashboard
6
+ ShipDashboard.new
7
+ end
8
+ end
9
+ end
@@ -16,6 +16,7 @@ class MemberDashboard
16
16
  :name,
17
17
  :rank,
18
18
  :position,
19
+ :ship_id,
19
20
  :created_at,
20
21
  ]
21
22
  end
@@ -32,6 +33,7 @@ class MemberDashboard
32
33
  [
33
34
  :name,
34
35
  :rank,
36
+ :ship_id,
35
37
  :position,
36
38
  ]
37
39
  end
@@ -44,6 +46,7 @@ class MemberDashboard
44
46
  [
45
47
  :name,
46
48
  :rank,
49
+ :ship_id,
47
50
  :position,
48
51
  ]
49
52
  end
@@ -72,10 +75,10 @@ class MemberDashboard
72
75
  end
73
76
 
74
77
  def permitted_create_params(params)
75
- params.require(:member).permit(:name, :rank, :position)
78
+ params.require(:member).permit(:name, :rank, :position, :ship_id)
76
79
  end
77
80
 
78
81
  def permitted_update_params(params)
79
- params.require(:member).permit(:name, :rank, :position)
82
+ params.require(:member).permit(:name, :rank, :position, :ship_id)
80
83
  end
81
84
  end
data/app/models/member.rb CHANGED
@@ -9,6 +9,8 @@ class Member < ApplicationRecord
9
9
  nco: "NCO",
10
10
  }
11
11
 
12
+ belongs_to :ship
13
+
12
14
  validates :name, presence: true
13
15
  validates :rank, presence: true
14
16
  end
@@ -0,0 +1,3 @@
1
+ class Ship < ApplicationRecord
2
+ has_many :members
3
+ end
@@ -0,0 +1,77 @@
1
+ class ShipDashboard
2
+ def title
3
+ Ship.name.pluralize
4
+ end
5
+
6
+ def model
7
+ Ship
8
+ end
9
+
10
+ def index_scope
11
+ Ship.all
12
+ end
13
+
14
+ def index_columns
15
+ [
16
+ :name,
17
+ :registry,
18
+ :class_name,
19
+ ]
20
+ end
21
+
22
+ def create_scope
23
+ Ship.all
24
+ end
25
+
26
+ def new_scope
27
+ Ship.all
28
+ end
29
+
30
+ def new_columns
31
+ [
32
+ :name,
33
+ :registry,
34
+ :class_name,
35
+ ]
36
+ end
37
+
38
+ def edit_scope
39
+ Ship.all
40
+ end
41
+
42
+ def edit_columns
43
+ [
44
+ :name,
45
+ :registry,
46
+ :class_name,
47
+ ]
48
+ end
49
+
50
+ def show_scope
51
+ Ship.all
52
+ end
53
+
54
+ def show_columns
55
+ [
56
+ :name,
57
+ :registry,
58
+ :class_name,
59
+ ]
60
+ end
61
+
62
+ def update_scope
63
+ Ship.all
64
+ end
65
+
66
+ def destroy_scope
67
+ Ship.all
68
+ end
69
+
70
+ def permitted_create_params(params)
71
+ params.require(:ship).permit(:name, :registry, :class_name)
72
+ end
73
+
74
+ def permitted_update_params(params)
75
+ params.require(:ship).permit(:name, :registry, :class_name)
76
+ end
77
+ end
data/config/routes.rb CHANGED
@@ -1,5 +1,6 @@
1
1
  Rails.application.routes.draw do
2
2
  namespace :admin do
3
3
  resources :members
4
+ resources :ships
4
5
  end
5
6
  end
@@ -0,0 +1,11 @@
1
+ class CreateShips < ActiveRecord::Migration[5.0]
2
+ def change
3
+ create_table :ships do |t|
4
+ t.string :name
5
+ t.string :registry
6
+ t.string :class_name
7
+
8
+ t.timestamps
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,5 @@
1
+ class AddShipToMembers < ActiveRecord::Migration[5.0]
2
+ def change
3
+ add_reference :members, :ship, foreign_key: true
4
+ end
5
+ end
data/db/seeds.rb CHANGED
@@ -1,11 +1,23 @@
1
1
  class EnterpriseSeeder
2
2
  def initialize
3
3
  @seeded = {}
4
+ @association_reflections = {}
4
5
  end
5
6
 
6
7
  def seed(basename, key, klass, value)
7
8
  @seeded[basename] ||= {}
8
9
  puts "--> #{key} (#{value})"
10
+ @association_reflections[klass] ||= klass.reflect_on_all_associations
11
+
12
+ @association_reflections[klass].each do |ar|
13
+ ar_name = ar.name.to_s
14
+ ar_plural_name = ar.plural_name.to_s
15
+
16
+ if value.key?(ar_name)
17
+ value[ar_name] = @seeded.fetch(ar_plural_name).fetch(value[ar_name])
18
+ end
19
+ end
20
+
9
21
  @seeded[basename][key] = klass.find_or_create_by(value)
10
22
  puts " success!"
11
23
  rescue => e
@@ -31,4 +43,5 @@ class EnterpriseSeeder
31
43
  end
32
44
 
33
45
  seeder = EnterpriseSeeder.new
46
+ seeder.seed_from_fixture("ships", Ship)
34
47
  seeder.seed_from_fixture("members", Member)
@@ -1,3 +1,3 @@
1
1
  module SuperTestEngine
2
- VERSION = "0.0.6"
2
+ VERSION = "0.0.7"
3
3
  end
@@ -3,278 +3,334 @@ picard:
3
3
  name: Jean-Luc Picard
4
4
  rank: Captain
5
5
  position: Commanding Officer
6
+ ship: uss_enterprise_d
6
7
 
7
8
  riker:
8
9
  name: William T. Riker
9
10
  rank: Commander
10
11
  position: First Officer
12
+ ship: uss_enterprise_d
11
13
 
12
14
  data:
13
15
  name: Data
14
16
  rank: Lieutenant Commander
15
17
  position: Second Officer
18
+ ship: uss_enterprise_d
16
19
 
17
20
  crusher:
18
21
  name: Beverly Crusher
19
22
  rank: Commander
20
23
  position: Chief Medical Officer
24
+ ship: uss_enterprise_d
21
25
 
22
26
  worf:
23
27
  name: Worf
24
28
  rank: Lieutenant Commander
25
29
  position: Chief of Security
30
+ ship: uss_enterprise_d
26
31
 
27
32
  la_forge:
28
33
  name: Geordi La Forge
29
34
  rank: Lieutenant Commander
30
35
  position: Chief Engineering Officer
36
+ ship: uss_enterprise_d
31
37
 
32
38
  troi:
33
39
  name: Deanna Troi
34
40
  rank: Commander
35
41
  position: Counselor
42
+ ship: uss_enterprise_d
36
43
 
37
44
  tasha:
38
45
  name: Natasha Yar
39
46
  rank: Lieutenant
40
47
  position: Chief of Security
48
+ ship: uss_enterprise_d
41
49
 
42
50
  miles:
43
51
  name: Miles O'Brien
44
52
  rank: NCO
45
53
  position: Transporter Chief
54
+ ship: uss_enterprise_d
46
55
 
47
56
  guinan:
48
57
  name: Guinan
49
58
  rank: NCO
50
59
  position: Bartender
60
+ ship: uss_enterprise_d
51
61
 
52
62
  sepulveda:
53
63
  name: Fernando Sepulveda
54
64
  rank: Lieutenant
55
65
  position: Ops engineer
66
+ ship: uss_enterprise_d
56
67
 
57
68
  jaxa:
58
69
  name: Sito Jaxa
59
70
  rank: Ensign
60
71
  position: Security officer
72
+ ship: uss_enterprise_d
61
73
 
62
74
  calloway:
63
75
  name: Maddy Calloway
64
76
  rank: Ensign
65
77
  position: Medical technician
78
+ ship: uss_enterprise_d
66
79
 
67
80
  mayter:
68
81
  name: Van Mayter
69
82
  rank: NCO
70
83
  position: Engineer
84
+ ship: uss_enterprise_d
71
85
 
72
86
  sutter:
73
87
  name: Daniel Sutter
74
88
  rank: Ensign
75
89
  position: Engineer
90
+ ship: uss_enterprise_d
76
91
 
77
92
  bernard:
78
93
  name: Harry Bernard, Sr.
79
94
  rank: Lieutenant
80
95
  position: Oceanographer
96
+ ship: uss_enterprise_d
81
97
 
82
98
  dangelo:
83
99
  name: Dick D'Angelo
84
100
  rank: Lieutenant
85
101
  position: Ops Engineer
102
+ ship: uss_enterprise_d
86
103
 
87
104
  ogawa:
88
105
  name: Alyssa Ogawa
89
106
  rank: Lieutenant
90
107
  position: Nurse
108
+ ship: uss_enterprise_d
91
109
 
92
110
  nesterowicz:
93
111
  name: John Nesterowicz
94
112
  rank: Lieutenant
95
113
  position: WarpField Tech 2
114
+ ship: uss_enterprise_d
96
115
 
97
116
  keiko:
98
117
  name: Keiko O'Brien
99
118
  rank: NCO
100
119
  position: Botanist
120
+ ship: uss_enterprise_d
101
121
 
102
122
  anaya:
103
123
  name: April Anaya
104
124
  rank: Ensign
105
125
  position: Flight controller
126
+ ship: uss_enterprise_d
106
127
 
107
128
  ziff:
108
129
  name: Anaanda Ziff
109
130
  rank: Lieutenant
110
131
  position: Specialist
132
+ ship: uss_enterprise_d
111
133
 
112
134
  tarses:
113
135
  name: Simon Tarses
114
136
  rank: NCO
115
137
  position: Medical technician
138
+ ship: uss_enterprise_d
116
139
 
117
140
  wallace:
118
141
  name: Darien Wallace
119
142
  rank: Lieutenant
120
143
  position: Crewmember
144
+ ship: uss_enterprise_d
121
145
 
122
146
  giddings:
123
147
  name: Diana Giddings
124
148
  rank: Lieutenant
125
149
  position: Junior engineer
150
+ ship: uss_enterprise_d
126
151
 
127
152
  pulaski:
128
153
  name: Katherine Pulaski
129
154
  rank: Commander
130
155
  position: Medical officer
156
+ ship: uss_enterprise_d
131
157
 
132
158
  dumont:
133
159
  name: Suzanne Dumont
134
160
  rank: Ensign
135
161
  position: Crewmember
162
+ ship: uss_enterprise_d
136
163
 
137
164
  tsu:
138
165
  name: Lian T'Su
139
166
  rank: Ensign
140
167
  position: Operations officer
168
+ ship: uss_enterprise_d
141
169
 
142
170
  lynch:
143
171
  name: Leland T. Lynch
144
172
  rank: Lieutenant Commander
145
173
  position: Chief engineer
174
+ ship: uss_enterprise_d
146
175
 
147
176
  dsora:
148
177
  name: Jenna D'Sora
149
178
  rank: Lieutenant Junior Grade
150
179
  position: Security officer
180
+ ship: uss_enterprise_d
151
181
 
152
182
  macdougal:
153
183
  name: Sarah MacDougal
154
184
  rank: Lieutenant Commander
155
185
  position: Chief engineer
186
+ ship: uss_enterprise_d
156
187
 
157
188
  shimoda:
158
189
  name: Jim Shimoda
159
190
  rank: NCO
160
191
  position: Assistant chief engineer
192
+ ship: uss_enterprise_d
161
193
 
162
194
  solis:
163
195
  name: Orfil Solis
164
196
  rank: Lieutenant Junior Grade
165
197
  position: Flight controller
198
+ ship: uss_enterprise_d
166
199
 
167
200
  rhodes:
168
201
  name: Sandra Rhodes
169
202
  rank: Lieutenant
170
203
  position: Security officer
204
+ ship: uss_enterprise_d
171
205
 
172
206
  fratis:
173
207
  name: Jeffrey Fratis
174
208
  rank: Lieutenant
175
209
  position: Crewmember
210
+ ship: uss_enterprise_d
176
211
 
177
212
  mees:
178
213
  name: Jim Mees
179
214
  rank: Lieutenant Commander
180
215
  position: Crewmember
216
+ ship: uss_enterprise_d
181
217
 
182
218
  hubbell:
183
219
  name: Maggie Hubbell
184
220
  rank: Ensign
185
221
  position: Transporter chief
222
+ ship: uss_enterprise_d
186
223
 
187
224
  rager:
188
225
  name: Sariel Rager
189
226
  rank: Ensign
190
227
  position: Helmsman
228
+ ship: uss_enterprise_d
191
229
 
192
230
  robinson:
193
231
  name: B.G. Robinson
194
232
  rank: Lieutenant
195
233
  position: Transporter chief
234
+ ship: uss_enterprise_d
196
235
 
197
236
  allenby:
198
237
  name: Tess Allenby
199
238
  rank: Ensign
200
239
  position: Flight controller
240
+ ship: uss_enterprise_d
201
241
 
202
242
  brooks:
203
243
  name: Janet Brooks
204
244
  rank: Ensign
205
245
  position: Crewmember
246
+ ship: uss_enterprise_d
206
247
 
207
248
  foster:
208
249
  name: Don Foster, Jr.
209
250
  rank: Lieutenant
210
251
  position: WarpField Tech 1
252
+ ship: uss_enterprise_d
211
253
 
212
254
  lefler:
213
255
  name: Robin Lefler
214
256
  rank: Ensign
215
257
  position: Mission Specialist
258
+ ship: uss_enterprise_d
216
259
 
217
260
  lavelle:
218
261
  name: Sam Lavelle
219
262
  rank: Lieutenant Junior Grade
220
263
  position: Operations officer
264
+ ship: uss_enterprise_d
221
265
 
222
266
  prieto:
223
267
  name: Ben Prieto
224
268
  rank: Lieutenant
225
269
  position: Shuttlecraft Pilot
270
+ ship: uss_enterprise_d
226
271
 
227
272
  pacelli:
228
273
  name: Alfonse Pacelli
229
274
  rank: Ensign
230
275
  position: Specialist
276
+ ship: uss_enterprise_d
231
277
 
232
278
  aster:
233
279
  name: Marla Aster
234
280
  rank: Lieutenant
235
281
  position: Archaeologist
282
+ ship: uss_enterprise_d
236
283
 
237
284
  barclay:
238
285
  name: Reginald Barclay
239
286
  rank: Lieutenant
240
287
  position: Systems diagnostic engineer
288
+ ship: uss_enterprise_d
241
289
 
242
290
  salvatore:
243
291
  name: Bruno Salvatore
244
292
  rank: Ensign
245
293
  position: Specialist in biomechanical research
294
+ ship: uss_enterprise_d
246
295
 
247
296
  juarez:
248
297
  name: Francisca Juarez
249
298
  rank: Lieutenant
250
299
  position: Crewmember
300
+ ship: uss_enterprise_d
251
301
 
252
302
  finks:
253
303
  name: Wilbur Finks
254
304
  rank: Lieutenant
255
305
  position: Safety officer
306
+ ship: uss_enterprise_d
256
307
 
257
308
  larson:
258
309
  name: Linda Larson
259
310
  rank: Lieutenant Junior Grade
260
311
  position: Engineer
312
+ ship: uss_enterprise_d
261
313
 
262
314
  gomez:
263
315
  name: Sonya Gomez
264
316
  rank: Ensign
265
317
  position: Engineer
318
+ ship: uss_enterprise_d
266
319
 
267
320
  hagler:
268
321
  name: Edward Hagler
269
322
  rank: Lieutenant
270
323
  position: Crewmember
324
+ ship: uss_enterprise_d
271
325
 
272
326
  lin:
273
327
  name: Peter Lin
274
328
  rank: Ensign
275
329
  position: Flight controller
330
+ ship: uss_enterprise_d
276
331
 
277
332
  kwan:
278
333
  name: Daniel Kwan
279
334
  rank: Lieutenant Junior Grade
280
335
  position: Specialist
336
+ ship: uss_enterprise_d
@@ -0,0 +1,10 @@
1
+ ---
2
+ uss_enterprise_d:
3
+ name: USS Enterprise
4
+ registry: NCC-1701-D
5
+ class_name: Galaxy
6
+
7
+ uss_jenolan:
8
+ name: USS Jenolan
9
+ registry: NCC-2010
10
+ class_name: Sydney
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: super_test_engine
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.6
4
+ version: 0.0.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Zach Ahn
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-07-29 00:00:00.000000000 Z
11
+ date: 2019-08-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -49,11 +49,16 @@ files:
49
49
  - README.md
50
50
  - Rakefile
51
51
  - app/controllers/admin/members_controller.rb
52
+ - app/controllers/admin/ships_controller.rb
52
53
  - app/controllers/admin_controller.rb
53
54
  - app/dashboards/member_dashboard.rb
54
55
  - app/models/member.rb
56
+ - app/models/ship.rb
57
+ - app/super/ship_dashboard.rb
55
58
  - config/routes.rb
56
59
  - db/migrate/20190216224956_create_members.rb
60
+ - db/migrate/20190803143320_create_ships.rb
61
+ - db/migrate/20190806014121_add_ship_to_members.rb
57
62
  - db/seeds.rb
58
63
  - lib/generators/super_test_engine/dummy/USAGE
59
64
  - lib/generators/super_test_engine/dummy/dummy_generator.rb
@@ -62,6 +67,7 @@ files:
62
67
  - lib/super_test_engine/engine.rb
63
68
  - lib/super_test_engine/version.rb
64
69
  - test/fixtures/members.yml
70
+ - test/fixtures/ships.yml
65
71
  homepage:
66
72
  licenses:
67
73
  - MIT