README.md in stairs-0.4.0 vs README.md in stairs-0.4.1
- old
+ new
@@ -41,74 +41,65 @@
$ rake newb
```
## Defining scripts
-A script composes many steps that setup a project. __Note:__ optional steps are
-not yet implemented.
+A script composes many steps that setup a project.
```ruby
bundle
setup :secret_token
setup :s3
setup :zencoder, required: false
setup :misc do
- env "CHECK_IT", provide "Cool check it value"
+ env "CHECK_IT", provide("Cool check it value")
end
rake "db:setup"
finish "Just run rails s and sidekiq to get rolling!"
```
### Example CLI
-Given the above script, the CLI might look like this. __Note:__ some of this
-is desired future functionality (bundle/db tasks, spacing, last words).
+Given the above script, the CLI might look like this.
```
$ rake newb
Looks like you're using rbenv to manage environment variables. Is this correct? (Y/N): Y
-
= Running script setup.rb
-
== Running bundle
...
== Completed bundle
-
== Running S3
AWS access key: 39u39d9u291
AWS secret: 19jd920i10is0i01i0s01ks0kfknkje
Do you have an existing bucket? (Y/N): Y
Bucket name (leave blank for app-dev): my-cool-bucket
== Completed S3
-
== Starting Zencoder
This step is optional, would you like to perform it? (Y/N): N
== Completed Zencoder
-
== Starting Misc
Cool check it value: w00t
== Completed Misc
-
== Running db:setup
...
== Completed db:setup
-
== All done!
Run rails s and sidekiq to get rolling!
```
## DSL
### Collecting values
```ruby
value = provide "Something"
-value = provide "Another", required: false # Not fully implemented
+value = provide "Another", required: false
provide "More", default: "a-default"
```
### Asking questions
```ruby
@@ -156,10 +147,11 @@
```
#### Using predefined steps (aka plugins)
```ruby
setup :s3
+setup :facebook, required: false
```
## Plugins for common setups
### Built-in
@@ -173,12 +165,12 @@
* `:facebook` interactive prompt for setting Facebook app credentials:
[patbenatar/stairs-steps-facebook][facebook]
### Defining custom plugins
-Steps inherit from `Stairs::Step`, have a title, description, and
-implement the `run` method. See those included and in the various
-extension gems for examples.
+Steps inherit from `Stairs::Step` and live in `Stairs::Steps`, have a title,
+description, and implement the `run` method. See those included and in the
+various extension gems for examples.
## Contributing
1. Fork it
2. Create your feature branch (`git checkout -b my-new-feature`)