README.md in backticks-0.3.0 vs README.md in backticks-0.3.1

- old
+ new

@@ -1,29 +1,26 @@ -# Backticks +# Introduction -Backticks is an intuitive OOP wrapper for invoking command-line processes and -interacting with them. It improves on Ruby's built-in invocation methods in a -few ways: - - Uses [pseudoterminals](https://en.wikipedia.org/wiki/Pseudoterminal) for unbuffered I/O +Backticks is a powerful, intuitive OOP wrapper for invoking command-line processes and +interacting with them. + +"Powerful" comes from features that make Backticks especially well suited for time-sensitive +or record/playback applications: + - Uses [pseudoterminals](https://en.wikipedia.org/wiki/Pseudoterminal) for realtime stdout/stdin - Captures input as well as output - - Intuitive API that accepts CLI parameters as Ruby positional and keyword args + - Separates stdout from stderr -If you want to write a record/playback application for the terminal, or write -functional tests that verify your program's output in real time, Backticks is -exactly what you've been looking for! +"Intuitive" comes from a DSL that lets you provide command-line arguments as if they were +Ruby method arguments: -For an example of the intuitive API, let's consider how we list a bunch of -files or search for some text with Backticks: - -```ruby -# invokes "ls -l -R" -Backticks.run 'ls', l:true, R:true - -# invokes "grep -H --context=2 --regexp=needle haystack.txt" -Backticks.run 'grep', {H:true, context:2, regexp:'needle'}, 'haystack.txt' ``` +Backticks.run 'ls', R:true, ignore_backups:true, hide:'.git' +Backticks.run 'cp' {f:true}, '*.rb', '/mnt/awesome' +``` -Notice how running commands feels like a plain old Ruby method call. +If you want to write a record/playback application for the terminal, or write +functional tests that verify your program's output in real time, Backticks is +exactly what you've been looking for! ## Installation Add this line to your application's Gemfile: