geordi 3.2.0 → 4.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (48) hide show
  1. checksums.yaml +4 -4
  2. data/.ruby-version +1 -1
  3. data/CHANGELOG.md +10 -1
  4. data/Gemfile.lock +1 -1
  5. data/README.md +111 -142
  6. data/Rakefile +18 -8
  7. data/geordi.gemspec +1 -0
  8. data/lib/geordi/COMMAND_TEMPLATE +3 -1
  9. data/lib/geordi/commands/chromedriver_update.rb +2 -2
  10. data/lib/geordi/commands/commit.rb +0 -5
  11. data/lib/geordi/commands/console.rb +8 -11
  12. data/lib/geordi/commands/create_databases.rb +2 -1
  13. data/lib/geordi/commands/cucumber.rb +13 -15
  14. data/lib/geordi/commands/delete_dumps.rb +0 -1
  15. data/lib/geordi/commands/deploy.rb +11 -11
  16. data/lib/geordi/commands/drop_databases.rb +0 -6
  17. data/lib/geordi/commands/dump.rb +9 -17
  18. data/lib/geordi/commands/firefox.rb +2 -5
  19. data/lib/geordi/commands/migrate.rb +1 -1
  20. data/lib/geordi/commands/rake.rb +3 -1
  21. data/lib/geordi/commands/rspec.rb +5 -9
  22. data/lib/geordi/commands/security_update.rb +14 -15
  23. data/lib/geordi/commands/server.rb +1 -1
  24. data/lib/geordi/commands/setup.rb +2 -11
  25. data/lib/geordi/commands/shell.rb +7 -8
  26. data/lib/geordi/commands/unit.rb +1 -1
  27. data/lib/geordi/commands/update.rb +0 -11
  28. data/lib/geordi/commands/vnc.rb +1 -3
  29. data/lib/geordi/commands/with_rake.rb +1 -1
  30. data/lib/geordi/cucumber.rb +2 -2
  31. data/lib/geordi/util.rb +11 -3
  32. data/lib/geordi/version.rb +1 -1
  33. metadata +6 -33
  34. data/exe/cap-all +0 -4
  35. data/exe/console-for +0 -4
  36. data/exe/cuc +0 -4
  37. data/exe/cuc-show +0 -4
  38. data/exe/cuc-vnc-setup +0 -4
  39. data/exe/deploy-to-production +0 -4
  40. data/exe/dump-for +0 -8
  41. data/exe/gitpt +0 -4
  42. data/exe/load-dump +0 -4
  43. data/exe/migrate-all +0 -4
  44. data/exe/rs +0 -4
  45. data/exe/run_tests +0 -4
  46. data/exe/shell-for +0 -4
  47. data/exe/tests +0 -4
  48. data/lib/geordi/commands/eurest.rb +0 -4
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e775f88b224275cf01077937ba959b27666c1ae7ac18b58548a62bfa31161a12
4
- data.tar.gz: 4e0efdb89bbf65b69a9753e8e05978b094915b613b1ded6ef1c1ea4716be0ea7
3
+ metadata.gz: a5ef220369795b8dc7615505cffc05a91776cf91a46580916ab30abd7902262a
4
+ data.tar.gz: e030a912bd16d9e805081cf4ce3669260223a0198ea1f1d0dfaf8e7c10b75b7f
5
5
  SHA512:
6
- metadata.gz: 56146e32a18966efbe63a58074d158b888410cf19520150d175f3220be709820b7b05ed6f95df5f80993ed163ba9b59232f1d1f67c3bd43d2055e9b2d66cd812
7
- data.tar.gz: e8e41bb61713a5f32dd4039cadee5b11a9f08bac20cad738e61975ea741bfd76cdf5e2d64a166579e701eda472f95f4f8ce15da27181fa0a8b11b748f5d222d3
6
+ metadata.gz: 49df1e803163f9d602f663d29da0f0036214a5ccb571727cbd02b9951094e4aa72fa7bf2654ceae3b7af47ace8286e6c26b94933277377a1ef5b5f21d7fe6ff5
7
+ data.tar.gz: 6cf4fafbb0e8f8c311279d61f3ea090ee9bb44589bb9f8566ab0796b26514862d52e89f93e9f5686aa63c8350951fb147c7a967ed2270ff29bb77cb07277da2d
@@ -1 +1 @@
1
- 2.0.0
1
+ 2.5
@@ -4,11 +4,20 @@ All notable changes to this project will be documented in this file.
4
4
 
5
5
  This project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).
6
6
 
7
-
8
7
  ## Unreleased
8
+ ### Compatible changes
9
+ ### Breaking changes
10
+
11
+
12
+ ## 4.0.0 2020-07-30
9
13
 
10
14
  ### Compatible changes
15
+ - Improved documentation; README now includes command options.
16
+ - Fix #90: `geordi console`, `geordi deploy`, `geordi rake` and `geordi shell` now work correctly if the project hasn't been bundled before
17
+
11
18
  ### Breaking changes
19
+ - Removed deprecated executables
20
+ - Removed `eurest` command
12
21
 
13
22
 
14
23
  ## 3.2.0 2020-07-15
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- geordi (3.2.0)
4
+ geordi (4.0.0)
5
5
  thor (~> 1)
6
6
 
7
7
  GEM
data/README.md CHANGED
@@ -19,96 +19,89 @@ You may abbreviate commands by typing only their first letters, e.g. `geordi
19
19
  con` will boot a development console, `geordi set -t` will setup a project and
20
20
  run tests afterwards.
21
21
 
22
- For details on commands, e.g. supported options, you may always run
23
- `geordi help <command>`.
22
+ You can always run `geordi help <command>` to quickly look up command help.
24
23
 
25
24
  ### `geordi apache-site VIRTUAL_HOST`
26
-
27
25
  Enable the given virtual host, disabling all others.
28
26
 
29
27
 
30
28
  ### `geordi capistrano COMMAND`
31
-
32
29
  Run a capistrano command on all deploy targets.
33
30
 
34
31
  Example: `geordi capistrano deploy`
35
32
 
36
33
 
37
34
  ### `geordi chromedriver-update`
38
-
39
35
  Update the chromedriver.
40
36
 
41
37
  Example: `geordi chromedriver_update`
42
38
 
43
- This command will find and install the matching chromedriver for the currently installed Chrome.
39
+ This command will find and install the matching chromedriver for the currently
40
+ installed Chrome.
44
41
 
45
42
 
46
43
  ### `geordi clean`
47
-
48
44
  Remove unneeded files from the current directory.
49
45
 
50
46
 
51
47
  ### `geordi commit`
52
-
53
48
  Commit using a story title from Pivotal Tracker.
54
49
 
55
50
  Example: `geordi commit`
56
51
 
57
52
  Any extra arguments are forwarded to `git commit -m <message>`.
58
53
 
59
- If there are no staged changes, prints a warning but will continue to create
60
- an empty commit.
61
-
62
54
  On the first execution we ask for your Pivotal Tracker API token. It will be
63
55
  stored in `~/.config/geordi/global.yml`.
64
56
 
65
57
 
66
58
  ### `geordi console [TARGET]`
67
-
68
59
  Open a Rails console locally or on a Capistrano deploy target.
69
60
 
70
- Open a local Rails console: `geordi console`
61
+ Local (development): `geordi console`
71
62
 
72
- Open a Rails console on `staging`: `geordi console staging`
63
+ Remote: `geordi console staging`
73
64
 
74
- Lets you select the server to connect to from a menu when called with `--select-server` or the alias `-s`:
65
+ Selecting the server: `geordi console staging -s` shows a menu with all available
66
+ servers. When passed a number, directly connects to the selected server.
75
67
 
76
- geordi console staging -s
77
-
78
- If you already know the number of the server you want to connect to, just pass it along:
79
-
80
- geordi console staging -s2
68
+ **Options**
69
+ - `-s, [--select-server=[SERVER_NUMBER]]`: Select a server to connect to
81
70
 
82
71
 
83
72
  ### `geordi cucumber [FILES and OPTIONS]`
84
-
85
73
  Run Cucumber features.
86
74
 
87
75
  Example: `geordi cucumber features/authentication_feature:3`
88
76
 
89
- Runs Cucumber as you want: with `bundle exec`, using parallel tests, with
90
- a VNC session holding Selenium test browsers, support for using a dedicated
91
- testing firefox and beta support for rerunning failed scenarios.
77
+ Runs Cucumber with `bundle exec`, using parallel tests, with a VNC session
78
+ holding Selenium test browsers, support for using a dedicated testing browser
79
+ and beta support for re-running failed scenarios.
92
80
 
93
81
  - *@solo:* Generally, features are run in parallel. However, scenarios tagged
94
- with @solo are excluded and will be run sequentially, _after_ the parallel run.
82
+ with @solo are excluded from the parallel run and executed sequentially instead.
95
83
 
96
- - *Debugging:* Sometimes, the dot-printing Cucumber formatter does not show
97
- errors. In case a feature fails without a message, try running it with `--debug`
98
- or `-d`.
84
+ - *Debugging:* In some cases, the dot-printing Cucumber formatter swallows
85
+ errors. In case a feature fails without an error message, try running it with
86
+ `--debug` or `-d`.
99
87
 
100
88
  - *Options:* Any unknown option will be passed through to Cucumber,
101
- e.g. `--format pretty`.
89
+ e.g. `--format=pretty`. Make sure to connect option and value with an equals
90
+ sign, i.e. have each option a contiguous string.
102
91
 
103
92
  - *VNC:* By default, test browsers will run in a VNC session. When using a
104
- headless test browser anyway, you can disable VNC by putting the following
105
- config into `.geordi.yml` in the project root:
93
+ headless test browser anyway, you can disable VNC by setting `use_vnc: false`
94
+ in `.geordi.yml` in the project root.
106
95
 
107
- use_vnc: false
96
+ **Options**
97
+ - `-m, [--modified], [--no-modified]`: Run all modified features
98
+ - `-c, [--containing=STRING]`: Run all features that contain STRING
99
+ - `-v, [--verbose], [--no-verbose]`: Show the test run command
100
+ - `-d, [--debug], [--no-debug]`: Run Cucumber with `-f pretty -b`, which helps hunting down bugs
101
+ - `-r, [--rerun=N]`: Rerun features up to N times while failing
108
102
 
109
103
 
110
104
  ### `geordi delete-dumps [DIRECTORY]`
111
-
112
105
  Delete database dump files (*.dump).
113
106
 
114
107
  Example: `geordi delete_dumps` or `geordi delete_dumps ~/tmp/dumps`
@@ -121,7 +114,6 @@ Geordi will ask for confirmation before actually deleting files.
121
114
 
122
115
 
123
116
  ### `geordi deploy [STAGE]`
124
-
125
117
  Guided deployment across branches.
126
118
 
127
119
  Example: `geordi deploy` or `geordi deploy p[roduction]` or `geordi deploy --current-branch`
@@ -129,18 +121,18 @@ Example: `geordi deploy` or `geordi deploy p[roduction]` or `geordi deploy --cur
129
121
  Merge, push and deploy with a single command! **It always tells what it will do
130
122
  before it does it.** There are different scenarios where this command is handy:
131
123
 
132
- 1) *Production deploy:* From the master branch, run `geordi deploy production`.
133
- This will merge `master` to `production`, push and deploy to production.
124
+ - *Production deploy:* From the master branch, run `geordi deploy production`.
125
+ This will merge `master` to `production`, push and deploy to production.
134
126
 
135
- 2) *Feature branch deploy:* From a feature branch, run `geordi deploy staging`.
136
- This will merge the feature branch to `master`, push and deploy to staging.
127
+ - *Feature branch deploy:* From a feature branch, run `geordi deploy staging`.
128
+ This will merge the feature branch to `master`, push and deploy to staging.
137
129
 
138
- To deploy a feature branch directly without merging, run
139
- `geordi deploy --current-branch`. This feature depends on the environment
140
- variable `DEPLOY_BRANCH` to be picked up in the respective deploy file.
130
+ To deploy a feature branch directly without merging, run
131
+ `geordi deploy --current-branch`. This feature depends on the environment
132
+ variable `DEPLOY_BRANCH` to be picked up in the respective deploy file.
141
133
 
142
- 3) *Simple deploy:* If the source branch matches the target branch, merging will
143
- be skipped.
134
+ - *Simple deploy:* If the source branch matches the target branch, merging will
135
+ be skipped.
144
136
 
145
137
  Calling the command without arguments will infer the target stage from the
146
138
  current branch and fall back to master/staging.
@@ -153,9 +145,12 @@ When your project is running Capistrano 3, deployment will use `cap deploy`
153
145
  instead of `cap deploy:migrations`. You can force using `deploy` by passing the
154
146
  -M option: `geordi deploy -M staging`.
155
147
 
148
+ **Options**
149
+ - `-M, [--no-migrations], [--no-no-migrations]`: Run cap deploy instead of cap deploy:migrations
150
+ - `-c, [--current-branch], [--no-current-branch]`: Set DEPLOY_BRANCH to the current branch during deploy
156
151
 
157
- ### `geordi drop-databases`
158
152
 
153
+ ### `geordi drop-databases`
159
154
  Interactively delete local databases.
160
155
 
161
156
  Example: `geordi drop_databases`
@@ -165,61 +160,52 @@ and offer to delete them. Excluded are databases that are whitelisted. This come
165
160
  in handy when you're keeping your currently active projects in the whitelist files
166
161
  and perform regular housekeeping with Geordi.
167
162
 
168
- When called with `-P` or `-M` options, only handles Postgres resp. MySQL/MariaDB.
169
-
170
- When called with `--postgres <port or local socket>` or `--mysql <port or local socket>`,
171
- will instruct the underlying management commands to use those connection methods
172
- instead of the defaults. This is useful when running multiple installations.
173
-
174
163
  Geordi will ask for confirmation before actually dropping databases and will
175
164
  offer to edit the whitelist instead.
176
165
 
166
+ **Options**
167
+ - `-P, [--postgres-only], [--no-postgres-only]`: Only clean Postgres
168
+ - `-M, [--mysql-only], [--no-mysql-only]`: Only clean MySQL/MariaDB
169
+ - `[--postgres=PORT_OR_SOCKET]`: Use Postgres port or socket
170
+ - `[--mysql=PORT_OR_SOCKET]`: Use MySQL/MariaDB port or socket
177
171
 
178
- ### `geordi dump [TARGET]`
179
-
180
- Handle dumps (see `geordi help dump` for details).
181
172
 
182
- When called without arguments, dumps the development database with `dumple`.
183
-
184
- geordi dump
185
-
186
- When called with the `--load` option, sources the specified dump into the
187
- development database.
173
+ ### `geordi dump [TARGET]`
174
+ Handle (remote) database dumps.
188
175
 
189
- geordi dump -l tmp/staging.dump
176
+ `geordi dump` (without arguments) dumps the development database with `dumple`.
190
177
 
191
- When called with a capistrano deploy target (e.g. `staging`), remotely dumps
192
- the specified target's database and downloads it to `tmp/`.
178
+ `geordi dump -l tmp/staging.dump` (with the `--load` option) sources the
179
+ specified dump file into the development database.
193
180
 
194
- geordi dump staging
181
+ `geordi dump staging` (with a Capistrano deploy target) remotely dumps the
182
+ specified target's database and downloads it to `tmp/`.
195
183
 
196
- When called with a capistrano deploy target and the `--load` option, sources the
197
- dump into the development database after downloading it.
184
+ `geordi dump staging -l` (with a Capistrano deploy target and the `--load`
185
+ option) sources the dump into the development database after downloading it.
198
186
 
199
- geordi dump staging -l
187
+ **Options**
188
+ - `-l, [--load=[DUMP_FILE]]`: Load a dump
200
189
 
201
190
 
202
191
  ### `geordi firefox COMMAND`
203
-
204
192
  Run a command with VNC and test browser set up (alias: chrome).
205
193
 
206
194
  Example: `geordi firefox b cucumber` or `geordi firefox --setup 24.0`
207
195
 
208
196
  Useful when you need Firefox for Selenium or the VNC set up, but can't use the
209
- `geordi cucumber` command.
210
-
211
- *Install* a special Firefox by calling with `--setup <version>`.
197
+ `geordi cucumber` command. This command is aliased `chrome` for users running
198
+ Selenium in Chrome.
212
199
 
213
- This command is aliased `chrome` for users running Selenium in Chrome.
200
+ **Options**
201
+ - `[--setup=FIREFOX_VERSION]`: Install a special test runner Firefox with the given version
214
202
 
215
203
 
216
204
  ### `geordi help [COMMAND]`
217
-
218
205
  Describe available commands or one specific command.
219
206
 
220
207
 
221
208
  ### `geordi migrate`
222
-
223
209
  Migrate all databases.
224
210
 
225
211
  Example: `geordi migrate`
@@ -230,7 +216,6 @@ with `db:migrate`.
230
216
 
231
217
 
232
218
  ### `geordi png-optimize PATH`
233
-
234
219
  Optimize .png files.
235
220
 
236
221
  Example: `geordi png-optimize some/directory`
@@ -241,7 +226,6 @@ Example: `geordi png-optimize some/directory`
241
226
 
242
227
 
243
228
  ### `geordi rake TASK`
244
-
245
229
  Run a rake task in several Rails environments.
246
230
 
247
231
  Example: `geordi rake db:migrate`
@@ -254,59 +238,56 @@ Example: `geordi rake db:migrate`
254
238
 
255
239
 
256
240
  ### `geordi remove-executable-flags`
257
-
258
241
  Remove executable-flags from files that should not be executable.
259
242
 
260
243
 
261
244
  ### `geordi rspec [FILES]`
262
-
263
245
  Run RSpec.
264
246
 
265
247
  Example: `geordi rspec spec/models/user_spec.rb:13`
266
248
 
267
- Runs RSpec as you want: with RSpec 1/2 detection, `bundle exec`, rspec_spinner
268
- detection, etc.
249
+ Runs RSpec with RSpec 1/2 support, parallel_tests detection and `bundle exec`.
269
250
 
270
251
 
271
252
  ### `geordi security-update [STEP]`
272
-
273
253
  Support for performing security updates.
274
254
 
275
- Preparation for security update: `geordi security-update`
276
-
277
- Checks out production and pulls.
255
+ Preparation for security update: `geordi security-update`. Checks out production
256
+ and pulls.
278
257
 
279
- After performing the update: `geordi security-update finish`
258
+ After performing the update: `geordi security-update finish`. Switches branches,
259
+ pulls, pushes and deploys as required by our workflow.
280
260
 
281
- Switches branches, pulls, pushes and deploys as required by our workflow. Tells
282
- what it will do before it does it. In detail:
261
+ This command tells what it will do before it does it. In detail:
283
262
 
284
- 1. Asks user, if tests are green
263
+ 1. Ask user if tests are green
285
264
 
286
- 2. Pushes production
265
+ 2. Push production
287
266
 
288
- 3. Checks out master and pulls
267
+ 3. Check out master and pull
289
268
 
290
- 4. Merges production and pushes in master
269
+ 4. Merge production and push in master
291
270
 
292
- 5. Deploys staging first, if there is a staging environment
271
+ 5. Deploy staging, if there is a staging environment
293
272
 
294
- 6. Asks user, if deployment log is okay and application is still running on staging
273
+ 6. Ask user if deployment log is okay and staging application is still running
295
274
 
296
- 7. Deploys other stages
275
+ 7. Deploy other stages
297
276
 
298
- 8. Asks user, if deployment log is okay and application is still running on all other stages
277
+ 8. Ask user if deployment log is okay and application is still running on all stages
299
278
 
300
- 9. Informs user about the next steps
279
+ 9. Inform user about the next (manual) steps
301
280
 
302
281
 
303
282
  ### `geordi server [PORT]`
304
-
305
283
  Start a development server.
306
284
 
285
+ **Options**
286
+ - `-p, [--port=PORT]`: Choose a port
287
+ - `-P, [--public], [--no-public]`: Make the server accessible from the local network
307
288
 
308
- ### `geordi setup`
309
289
 
290
+ ### `geordi setup`
310
291
  Setup a project for the first time.
311
292
 
312
293
  Example: `geordi setup`
@@ -315,71 +296,51 @@ Check out a repository and cd into its directory. Then let `setup` do the tiring
315
296
  work: run `bundle install`, create `database.yml`, create databases, migrate
316
297
  (all if applicable).
317
298
 
318
- If a local bin/setup file is found, Geordi skips these steps runs bin/setup
319
- for setup instead.
299
+ If a local bin/setup file is found, Geordi skips its routine and runs bin/setup
300
+ instead.
320
301
 
321
- After setting up, loads a remote database dump into the development db when
322
- called with the `--dump` option:
323
-
324
- geordi setup -d staging
325
-
326
- After setting up, runs all tests when called with the `--test` option:
327
-
328
- geordi setup -t
302
+ **Options**
303
+ - `-d, [--dump=TARGET]`: After setup, dump the TARGET db and source it into the development db
304
+ - `-t, [--test], [--no-test]`: After setup, run tests
329
305
 
330
306
 
331
307
  ### `geordi shell TARGET`
332
-
333
308
  Open a shell on a Capistrano deploy target.
334
309
 
335
310
  Example: `geordi shell production`
336
311
 
337
- Lets you select the server to connect to from a menu when called with `--select-server` or the alias `-s`:
312
+ Selecting the server: `geordi shell staging -s` shows a menu with all available
313
+ servers. When passed a number, directly connects to the selected server.
338
314
 
339
- geordi shell production -s
340
-
341
- If you already know the number of the server you want to connect to, just pass it along:
342
-
343
- geordi shell production -s2
315
+ **Options**
316
+ - `-s, [--select-server=[SERVER_NUMBER]]`: Select a server to connect to
344
317
 
345
318
 
346
319
  ### `geordi tests`
347
-
348
320
  Run all employed tests.
349
321
 
350
322
 
351
323
  ### `geordi unit`
352
-
353
324
  Run Test::Unit.
354
325
 
355
326
 
356
327
  ### `geordi update`
357
-
358
328
  Bring a project up to date.
359
329
 
360
330
  Example: `geordi update`
361
331
 
362
332
  Performs: `git pull`, `bundle install` (if necessary) and migrates (if applicable).
363
333
 
364
- After updating, loads a dump into the development db when called with the
365
- `--dump` option:
366
-
367
- geordi update -d staging
368
-
369
- After updating, runs all tests when called with the `--test` option:
370
-
371
- geordi update -t
372
-
373
- See `geordi help update` for details.
334
+ **Options**
335
+ - `-d, [--dump=TARGET]`: After updating, dump the TARGET db and source it into the development db
336
+ - `-t, [--test], [--no-test]`: After updating, run tests
374
337
 
375
338
 
376
339
  ### `geordi version`
377
-
378
340
  Print the current version of geordi.
379
341
 
380
342
 
381
343
  ### `geordi vnc`
382
-
383
344
  Show the hidden VNC window.
384
345
 
385
346
  Example: `geordi vnc` or `geordi vnc --setup`
@@ -387,8 +348,8 @@ Example: `geordi vnc` or `geordi vnc --setup`
387
348
  Launch a VNC session to the hidden screen where `geordi cucumber` runs Selenium
388
349
  tests.
389
350
 
390
- When called with `--setup`, will guide through the setup of VNC.
391
-
351
+ **Options**
352
+ - `[--setup], [--no-setup]`: Guide through the setup of VNC
392
353
 
393
354
  b
394
355
  ---
@@ -398,7 +359,7 @@ working directory. If no `Gemfile` is present just runs the given command:
398
359
 
399
360
  b spec spec/models
400
361
 
401
- More information at http://makandracards.com/makandra/684-automatically-run-bundle-exec-if-required
362
+ See http://makandracards.com/makandra/684-automatically-run-bundle-exec-if-required
402
363
 
403
364
 
404
365
  dumple
@@ -408,7 +369,7 @@ Stores a timestamped database dump for the given Rails environment in `~/dumps`:
408
369
 
409
370
  dumple development
410
371
 
411
- More information at http://makandracards.com/makandra/1008-dump-your-database-with-dumple
372
+ See http://makandracards.com/makandra/1008-dump-your-database-with-dumple
412
373
 
413
374
 
414
375
  launchy_browser
@@ -422,20 +383,28 @@ Contributing
422
383
  ============
423
384
 
424
385
  * Run the tests for the oldest supported ruby version with `bundle exec rake`. Ensure that all other ruby versions in the `travis.yml` pass as well after pushing your feature branch and triggering the travis build.
425
- * Update this `README`. The whole `geordi` section is auto-generated
426
- by `rake readme`.
386
+ * Update this `README`. The whole `geordi` section is auto-generated from command
387
+ descriptions when running `rake readme`.
427
388
  * Document your changes in the `CHANGELOG.md` file.
428
389
 
390
+
429
391
  Adding a new command
430
392
  ---------------
431
393
 
432
394
  Copy `lib/geordi/COMMAND_TEMPLATE` to `lib/geordi/commands/your_command` and
433
- edit it to do what you need it to do. Usually, it is hard to automatedly test
434
- Geordi commands, so make sure you've manually tested it. You can do so by
435
- calling your local geordi like so (adjust paths to your needs):
395
+ edit it to do what you need it to do. Please add a feature test for the new
396
+ command; see features/ for inspiration.
436
397
 
437
- # @option -I: add directory to load path
438
- ruby -I ../geordi/lib ../geordi/bin/geordi <command>
398
+ To try Geordi locally, call it like this:
399
+
400
+ # -I means "add the following directory to load path"
401
+ ruby -Ilib exe/geordi
439
402
 
440
- # with debugger
441
- ruby -r byebug -I ../geordi/lib ../geordi/bin/geordi <command>
403
+ # From another directory
404
+ ruby -I ../geordi/lib ../geordi/exe/geordi
405
+
406
+ # With debugger
407
+ ruby -r byebug -I ../geordi/lib ../geordi/exe/geordi
408
+
409
+ You can also *install* Geordi locally from its project directory with
410
+ `rake install`. Make sure to switch to the expected Ruby version before.