super_test_engine 0.0.6 → 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +7 -21
- data/lib/super_test_engine.rb +1 -3
- data/lib/super_test_engine/copy_app_templates/controllers/favorite_things_controller.rb +50 -0
- data/lib/super_test_engine/copy_app_templates/controllers/members_controller.rb +57 -0
- data/lib/super_test_engine/copy_app_templates/controllers/ships_controller.rb +47 -0
- data/{db/migrate → lib/super_test_engine/copy_app_templates/migrations}/20190216224956_create_members.rb +0 -0
- data/lib/super_test_engine/copy_app_templates/migrations/20190803143320_create_ships.rb +11 -0
- data/lib/super_test_engine/copy_app_templates/migrations/20190806014121_add_ship_to_members.rb +5 -0
- data/lib/super_test_engine/copy_app_templates/migrations/20191126050453_create_favorite_things.rb +10 -0
- data/lib/super_test_engine/copy_app_templates/models/favorite_thing.rb +7 -0
- data/{app → lib/super_test_engine/copy_app_templates}/models/member.rb +10 -0
- data/lib/super_test_engine/copy_app_templates/models/ship.rb +3 -0
- data/lib/super_test_engine/copy_app_templates/routes.rb +11 -0
- data/lib/super_test_engine/copy_app_templates/seeds.rb +2 -0
- data/lib/super_test_engine/copy_app_templates/views/members/_favorite_things.html.erb +11 -0
- data/lib/super_test_engine/copy_app_templates/views/members/show.html.erb +11 -0
- data/lib/super_test_engine/fixtures/favorite_things.yml +9 -0
- data/{test → lib/super_test_engine}/fixtures/members.yml +56 -0
- data/lib/super_test_engine/fixtures/ships.yml +10 -0
- data/lib/super_test_engine/generate_copy_app.rb +49 -0
- data/lib/super_test_engine/generate_dummy.rb +98 -0
- data/lib/super_test_engine/starfleet_seeder.rb +50 -0
- data/super_test_engine.gemspec +23 -0
- metadata +47 -28
- data/MIT-LICENSE +0 -20
- data/Rakefile +0 -32
- data/app/controllers/admin/members_controller.rb +0 -9
- data/app/controllers/admin_controller.rb +0 -2
- data/app/dashboards/member_dashboard.rb +0 -81
- data/config/routes.rb +0 -5
- data/db/seeds.rb +0 -34
- data/lib/generators/super_test_engine/dummy/USAGE +0 -8
- data/lib/generators/super_test_engine/dummy/dummy_generator.rb +0 -108
- data/lib/generators/super_test_engine/dummy/templates/db_seeds.rb.tt +0 -1
- data/lib/super_test_engine/engine.rb +0 -9
- data/lib/super_test_engine/version.rb +0 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c7d20e2c3646b4dee8144f92fa4f43ea042d0f03bce4a8111b3a081ba57cd067
|
4
|
+
data.tar.gz: a9ee55f386103ea4522409f6a16c564a6db2eb950a44b3e54a09a49913653e4e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e00688f985b35865f04a61bf0bb7815dbf92ff603bb8e60f962d0cde6237dca9af1ba0551eafa189f86e64029f2c27ca03951da686f0c5a3ecd1babf258a6d65
|
7
|
+
data.tar.gz: 90fcf2eda947e9f281cdff7cd83234cbad475df837d13dd80f259d5dd87339fce01ae34c81aa1c8308c673724511f5e18956a6b321ccf9ec5845d09f9e04ee83
|
data/README.md
CHANGED
@@ -1,28 +1,14 @@
|
|
1
1
|
# SuperTestEngine
|
2
|
-
Short description and motivation.
|
3
2
|
|
4
|
-
|
5
|
-
How to use my plugin.
|
3
|
+
Not an engine. Not just for tests.
|
6
4
|
|
7
|
-
## Installation
|
8
|
-
Add this line to your application's Gemfile:
|
9
5
|
|
10
|
-
|
11
|
-
gem 'super_test_engine'
|
12
|
-
```
|
6
|
+
## Example usage
|
13
7
|
|
14
|
-
And then execute:
|
15
|
-
```bash
|
16
|
-
$ bundle
|
17
8
|
```
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
9
|
+
env BUNDLE_GEMFILE="gemfiles/rails50_sprockets3.gemfile" bundle exec ruby super_test_engine/lib/super_test_engine/generate_copy_app.rb --destination=test/dummy50_sprockets3
|
10
|
+
env BUNDLE_GEMFILE="gemfiles/rails51_sprockets3.gemfile" bundle exec ruby super_test_engine/lib/super_test_engine/generate_copy_app.rb --destination=test/dummy51_sprockets3
|
11
|
+
env BUNDLE_GEMFILE="gemfiles/rails52_sprockets4.gemfile" bundle exec ruby super_test_engine/lib/super_test_engine/generate_copy_app.rb --destination=test/dummy52_sprockets4
|
12
|
+
env BUNDLE_GEMFILE="gemfiles/rails60_sprockets4.gemfile" bundle exec ruby super_test_engine/lib/super_test_engine/generate_copy_app.rb --destination=test/dummy60_sprockets4
|
13
|
+
env BUNDLE_GEMFILE="gemfiles/rails60_webpacker4.gemfile" bundle exec ruby super_test_engine/lib/super_test_engine/generate_copy_app.rb --destination=test/dummy60_webpacker4
|
22
14
|
```
|
23
|
-
|
24
|
-
## Contributing
|
25
|
-
Contribution directions go here.
|
26
|
-
|
27
|
-
## License
|
28
|
-
The gem is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).
|
data/lib/super_test_engine.rb
CHANGED
@@ -0,0 +1,50 @@
|
|
1
|
+
module Admin
|
2
|
+
class FavoriteThingsController < AdminController
|
3
|
+
private
|
4
|
+
|
5
|
+
def new_controls
|
6
|
+
Controls.new
|
7
|
+
end
|
8
|
+
|
9
|
+
class Controls
|
10
|
+
def title
|
11
|
+
FavoriteThing.name.pluralize
|
12
|
+
end
|
13
|
+
|
14
|
+
def model
|
15
|
+
FavoriteThing
|
16
|
+
end
|
17
|
+
|
18
|
+
def scope(action:)
|
19
|
+
FavoriteThing.all
|
20
|
+
end
|
21
|
+
|
22
|
+
def permitted_params(params, action:)
|
23
|
+
params.require(:favorite_thing).permit(:name, member_attributes: [:id, :name, :rank, :position, :ship_id])
|
24
|
+
end
|
25
|
+
|
26
|
+
def display_schema(action:)
|
27
|
+
Super::Schema.new(Super::Display::SchemaTypes.new) do |fields, type|
|
28
|
+
fields[:name] = type.dynamic(&:itself)
|
29
|
+
fields[:member] = type.dynamic { |member| "#{member.name} (member ##{member.id})" }
|
30
|
+
end
|
31
|
+
end
|
32
|
+
|
33
|
+
def form_schema(action:)
|
34
|
+
Super::Schema.new(Super::Form::SchemaTypes.new) do |fields, type|
|
35
|
+
fields[:name] = type.generic("form_field_text")
|
36
|
+
|
37
|
+
fields[:member_attributes] = type.belongs_to(:member) do
|
38
|
+
fields[:name] = type.generic("form_field_text")
|
39
|
+
fields[:rank] = type.generic("form_field_select", collection: Member.ranks.keys)
|
40
|
+
fields[:position] = type.generic("form_field_text")
|
41
|
+
fields[:ship_id] = type.generic(
|
42
|
+
"form_field_select",
|
43
|
+
collection: Ship.all.map { |s| ["#{s.name} (Ship ##{s.id})", s.id] },
|
44
|
+
)
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|
50
|
+
end
|
@@ -0,0 +1,57 @@
|
|
1
|
+
module Admin
|
2
|
+
class MembersController < AdminController
|
3
|
+
private
|
4
|
+
|
5
|
+
def new_controls
|
6
|
+
Controls.new
|
7
|
+
end
|
8
|
+
|
9
|
+
class Controls
|
10
|
+
def title
|
11
|
+
Member.name.pluralize
|
12
|
+
end
|
13
|
+
|
14
|
+
def model
|
15
|
+
Member
|
16
|
+
end
|
17
|
+
|
18
|
+
def scope(action:)
|
19
|
+
Member.all
|
20
|
+
end
|
21
|
+
|
22
|
+
def permitted_params(params, action:)
|
23
|
+
params.require(:member).permit(:name, :rank, :position, :ship_id, favorite_things_attributes: [:id, :name, :_destroy])
|
24
|
+
end
|
25
|
+
|
26
|
+
def display_schema(action:)
|
27
|
+
Super::Schema.new(Super::Display::SchemaTypes.new) do |fields, type|
|
28
|
+
fields[:name] = type.dynamic(&:itself)
|
29
|
+
fields[:rank] = type.dynamic(&:itself)
|
30
|
+
fields[:position] = type.dynamic(&:itself)
|
31
|
+
fields[:ship] = type.dynamic { |ship| "#{ship.name} (Ship ##{ship.id})" }
|
32
|
+
fields[:created_at] = type.dynamic(&:iso8601)
|
33
|
+
if action.show?
|
34
|
+
fields[:updated_at] = type.dynamic(&:iso8601)
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
38
|
+
|
39
|
+
def form_schema(action:)
|
40
|
+
Super::Schema.new(Super::Form::SchemaTypes.new) do |fields, type|
|
41
|
+
fields[:name] = type.generic("form_field_text")
|
42
|
+
fields[:rank] = type.generic("form_field_select", collection: Member.ranks.keys)
|
43
|
+
fields[:position] = type.generic("form_field_text")
|
44
|
+
fields[:ship_id] = type.generic(
|
45
|
+
"form_field_select",
|
46
|
+
collection: Ship.all.map { |s| ["#{s.name} (Ship ##{s.id})", s.id] },
|
47
|
+
)
|
48
|
+
|
49
|
+
fields[:favorite_things_attributes] = type.has_many(:favorite_things) do
|
50
|
+
fields[:name] = type.generic("form_field_text")
|
51
|
+
fields[:_destroy] = type._destroy
|
52
|
+
end
|
53
|
+
end
|
54
|
+
end
|
55
|
+
end
|
56
|
+
end
|
57
|
+
end
|
@@ -0,0 +1,47 @@
|
|
1
|
+
module Admin
|
2
|
+
class ShipsController < AdminController
|
3
|
+
private
|
4
|
+
|
5
|
+
def new_controls
|
6
|
+
Controls.new
|
7
|
+
end
|
8
|
+
|
9
|
+
class Controls
|
10
|
+
def title
|
11
|
+
Ship.name.pluralize
|
12
|
+
end
|
13
|
+
|
14
|
+
def model
|
15
|
+
Ship
|
16
|
+
end
|
17
|
+
|
18
|
+
def scope(action:)
|
19
|
+
Ship.all
|
20
|
+
end
|
21
|
+
|
22
|
+
def permitted_params(params, action:)
|
23
|
+
params.require(:ship).permit(:name, :registry, :class_name)
|
24
|
+
end
|
25
|
+
|
26
|
+
def display_schema(action:)
|
27
|
+
Super::Schema.new(Super::Display::SchemaTypes.new) do |fields, type|
|
28
|
+
fields[:name] = type.dynamic(&:itself)
|
29
|
+
fields[:registry] = type.dynamic(&:itself)
|
30
|
+
fields[:class_name] = type.dynamic(&:itself)
|
31
|
+
if action.show?
|
32
|
+
fields[:created_at] = type.dynamic(&:iso8601)
|
33
|
+
fields[:updated_at] = type.dynamic(&:iso8601)
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
37
|
+
|
38
|
+
def form_schema(action:)
|
39
|
+
Super::Schema.new(Super::Form::SchemaTypes.new) do |fields, type|
|
40
|
+
fields[:name] = type.generic("form_field_text")
|
41
|
+
fields[:registry] = type.generic("form_field_text")
|
42
|
+
fields[:class_name] = type.generic("form_field_text")
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|
File without changes
|
@@ -9,6 +9,16 @@ class Member < ApplicationRecord
|
|
9
9
|
nco: "NCO",
|
10
10
|
}
|
11
11
|
|
12
|
+
belongs_to :ship
|
13
|
+
has_many :favorite_things, dependent: :delete_all
|
14
|
+
|
15
|
+
accepts_nested_attributes_for(
|
16
|
+
:favorite_things,
|
17
|
+
allow_destroy: true,
|
18
|
+
reject_if: -> (record) { record[:name].blank? }
|
19
|
+
)
|
20
|
+
|
12
21
|
validates :name, presence: true
|
13
22
|
validates :rank, presence: true
|
23
|
+
validates :position, presence: true
|
14
24
|
end
|
@@ -0,0 +1,11 @@
|
|
1
|
+
<% if @resource.favorite_things.any? %>
|
2
|
+
<%= render(Super::Panel.new) do %>
|
3
|
+
<h1 class="text-xl">Favorite Things</h1>
|
4
|
+
|
5
|
+
<ul class="list-disc list-outside mt-4">
|
6
|
+
<% @resource.favorite_things.each do |favorite_thing| %>
|
7
|
+
<li class="ml-6"><%= favorite_thing.name %></li>
|
8
|
+
<% end %>
|
9
|
+
</ul>
|
10
|
+
<% end %>
|
11
|
+
<% 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
|