Skip to content

Instantly share code, notes, and snippets.

@teddy-ma
Created February 24, 2014 06:07
Show Gist options
  • Save teddy-ma/9182722 to your computer and use it in GitHub Desktop.
Save teddy-ma/9182722 to your computer and use it in GitHub Desktop.
ruby tuesday tpp
--title 用 Ruby 构建碉堡的命令行应用程序
--author 马陆骋(Teddy-Ma@github Teddy@ruby-china)
--date today
--center <Build Awesome Command Line applications in Ruby2> 读书笔记
--center For absolute beginners
--center And some little examples
--newpage main
--heading Command Line Application
* What is
---
* What is not
---
* Why
---
--huge * How
--newpage whatis
--heading What is command line application
---
--center Command Line Application is Application
--newpage whatisnot
--heading What command line application is not
---
--center Command Line Application is not script
--newpage why
--heading why write/use command line application
---
* Simple
---
* Light
---
* Useful
--newpage how
--heading how to build awesome command line applications in ruby
--beginshelloutput
$ man "awesome command line application"
let's check it out...
--endshelloutput
--newpage concept
--heading Concept
---
* options
---
** long-form
** short-form
---
** switch
** flag
---
* arguments
---
** what the application want to operate (usually file) but also can be database and so on
---
* commands
---
** git commit
** git push
** git log
--newpage interface
--heading Interface
---
* command-line(simple) interface
---
* command-suite interface
---
--newpage document
--heading Document
* help
---
* man page
--newpage cooperation
--heading Cooperation
* exit codes
---
* standard output and error streams
---
* pipe
---
--newpage default
--heading Default
* value
---
* behavior
---
--newpage configuration
--heading Configuration
* uncommon but possible
---
* external config (read & write)
---
--newpage distribute
--heading Distribute
--center nothing special
--center just a gem
--newpage test
--heading Test
* unit tests
---
* acceptance test
---
* cucumber
---
* aruba
---
--newpage maintain
--heading Maintain
--newpage appearances
--heading Appearances
* rainbow
* terminal-table
* progress_bar
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment