README.md in yuyi-1.0.8 vs README.md in yuyi-1.1.3
- old
+ new
@@ -1,8 +1,9 @@

+
# Yuyi
-Opinionated automation for installing/uninstalling/upgrading your machine environment
+Custom automation for installing/uninstalling/upgrading your local machine environment
###### Support
* Mac OS X
###### Dependencies
@@ -10,12 +11,19 @@
* Ruby >= 1.8.7
* Bash >= 3.2
#### Quick Usage
* Create a `yuyi_menu` file in your home folder _(see below for examples)_
-* Run `ruby -e "$(curl -fsSL https://raw.github.com/brewster1134/Yuyi/master/bin/install)"` in Terminal
+If you are running yuyi on a brand new machine, you will need to run sudo to install Yuyi to the system installed ruby
+
+* `sudo gem install yuyi`
+
+Other you can just install it normally...
+
+* `gem install yuyi`
+
#### Example Menu
```yaml
sources:
local: ~/Documents/Rolls
@@ -28,21 +36,31 @@
Make sure to include a colon (:) at the end of each roll name.
If a roll accepts arguments, indent the key/value pairs below the roll name. You will be prompted with roll options when Yuyi runs, and the opportunity to change them before anything is installed.
+**Then just run `yuyi`**
+
### Development
+Use yuyi to install development dependencies
-##### Dependencies
-* ruby
-* bundler
+`yuyi https://raw.githubusercontent.com/brewster1134/Yuyi/master/yuyi_menu`
+`bundle install`
##### Running Tests
-Run tests using rspec through guard
-
```sh
-bundle exec guard
+// run guard to watch the source files and automatically run tests when you make changes
+bundle exec rake yuyi
+
+// run rspec tests on the yuyi library
+bundle exec rake yuyi:test
+
+// run rspec tests on the rolls specified in a given menu
+bundle exec rake yuyi:test:rolls
+
+// run rspec tests on the library and the rolld
+bundle exec rake yuyi:test:all
```
##### Writing Rolls
###### _required_
* `< Yuyu::Roll` The roll class needs to inherit from Yuyi::Roll
@@ -65,11 +83,23 @@
* `write_to_file` Will add lines of text to a file. Good for using in the `install` block. Accepts multiple string arguments to be written as separate lines.
* `delete_from_file` Will remove lines of text to a file. Good for using in the `uninstall` block. Accepts multiple string arguments to be written as separate lines.
```ruby
class MyRoll < Yuyi::Roll
+ options({
+ :version => {
+ :description => 'The specific version you would like to install',
+ :example => '1.0', # optional
+ :default => '2.0', # optional
+ :required => true # optional - shows option in red
+ }
+ })
+
+ dependencies :homebrew, :foo
+
install do
+ dependencies :hombrew_cask if options[:version] == '2.0' # add dependencies conditionally
run 'brew install my_roll', :verbose => true
write_to_file '~/.bash_profile', "# #{title}"
end
@@ -86,33 +116,20 @@
installed? do
# simply check for a command
command? 'brew'
# or check the output of a command
- # using `run` will return true or false, so use
- `brew list` =~ /myroll/
+ run('brew list') =~ /myroll/
end
-
- dependencies :homebrew, :foo
- dependencies :hombrew_cask if options[:version] == '2.0' # add dependencies conditionally
-
- options(
- :version => {
- :description => 'The specific version you would like to install',
- :example => '1.0', # optional
- :default => '2.0', # optional
- :required => true # optional - shows option in red
- }
- )
end
```
### TODO
+* progressbar
* vagrant plugins
* Enforce required options
* New roll generator (use new!)
-* DOCS!
* show roll options on -l
-* home brew/home brew cask roll to inherit
* installation summary
+* DOCS!
[.](http://www.comedycentral.com/video-clips/3myds9/upright-citizens-brigade-sushi-chef)