checkcheckit 0.1.2 → 0.1.3

Sign up to get free protection for your applications and to get access to all the features.
data/.travis.yml ADDED
@@ -0,0 +1,5 @@
1
+ language: ruby
2
+ rvm:
3
+ - 1.9.3
4
+ - jruby-19mode # JRuby in 1.9 mode
5
+ - rbx-19mode
data/Gemfile CHANGED
@@ -4,7 +4,8 @@ source 'https://rubygems.org'
4
4
  gemspec
5
5
 
6
6
  group :test do
7
+ gem 'rake'
7
8
  gem 'fakefs'
8
9
  gem 'ruby-debug19'
9
- gem 'vault-test-tools'
10
+ gem 'vault-test-tools', '~> 0.2.2'
10
11
  end
data/README.md CHANGED
@@ -2,18 +2,39 @@
2
2
 
3
3
  use checklists, like a boss
4
4
 
5
+ CheckCheckIt is a ruby library that exposes the command line program `check` and companion web service that makes the process of going through a checklist easy to sync across multiple people.
6
+
7
+ Right now everything begins at the command line and a directory of checklists.
8
+
9
+ A "checklist" is just a text file.
10
+ Every line that starts with a dash '-' is a step.
11
+ Everything beneath a step is that step's body or description.
12
+
5
13
  ## Installation
6
14
 
7
15
  $ gem install checkcheckit
8
16
 
9
- ## TODO
17
+ ## Usage
10
18
 
11
- - resume a run
12
- - locally
19
+ # list your checklists
20
+ $ check list
21
+ # Checklists
22
+ personal
23
+ groceries
24
+ work
25
+ deploy
13
26
 
14
- - post to campfire
27
+ # start a list at the command line and keep it there
28
+ $ check start deploy
29
+ |-------| Step 1: Pull everything from git
30
+ > git pull origin
31
+ Check: ^C
32
+ Goodbye!
15
33
 
16
- ## Usage
34
+ # start a list, open it in your browser, and skip the CLI interaction
35
+ $ check start groceries --live --web --open
36
+ $ check start groceries --live --no-cli -O
37
+ Live at URL: http://checkcheckit.herokuapp.com/4f24b9d933d5467ec913461b8da3f952dbe724cb
17
38
 
18
39
  ### `list` the checklists
19
40
 
@@ -23,10 +44,6 @@ In that directory are folders for your organizations, groups, etc.
23
44
 
24
45
  In those folders are your checklists.
25
46
 
26
- A "checklist" is just a text file.
27
- Every line that starts with a dash '-' is a step.
28
- Everything beneath a step is that step's body or description.
29
-
30
47
  $ check list
31
48
  # Checklists
32
49
  heroku
@@ -73,18 +90,46 @@ For example:
73
90
 
74
91
  ### Live mode
75
92
 
76
- This is fun. Specify an email (or a comma-separated list) on the command line and
77
- that address will receive a message with a link to a web version of the checklist.
93
+ This is fun.
78
94
 
79
- Right now the cmd line client and web don't interact. For now.
95
+ `check start <listname> --live` will create an _interactive_ companion URL on the web.
80
96
 
81
- $ check start deploy --email me@me.com,another.guy@gmail.com
82
- |-------| Step 1: Pull everything from git
83
- > git pull origin
97
+ This URL is websockets-enabled and communicates with the command line.
98
+ This means command line 'checks' get pushed to the web. Once a list is on the web you can
99
+ disconnect the command line and continue finishing it (with others).
100
+
101
+ $ check start deploy --live
102
+ Live at URL: http://checkcheckit.herokuapp.com/4f24b9d933d5467ec913461b8da3f952dbe724cb
103
+ Websocket refused connection - using POST
104
+ |........| Step 1: Make sure there are no uncommitted changes
105
+ > `git status`
106
+ Check:
84
107
 
85
- You'll get an email with a link:
108
+ |+.......| Step 2: Pull everything from git
109
+ > `git pull`
110
+ Check: ^C
111
+ bye
86
112
 
87
- http://checkcheckit.herokuapp.com/1
113
+ During that console session the web UI would be interactively crossing items off the list:
114
+ <img height="400px" src="http://f.cl.ly/items/1h3V0L1a1p1a062I2X3f/Screen%20Shot%202012-12-16%20at%209.37.56%20PM.png" />
115
+
116
+ ### Email
117
+ Specify an email (or a comma-separated list) on the command line via the `--email` flag and
118
+ the address(es) will receive an email with a link to a web version of the checklist.
119
+
120
+
121
+ $ check start deploy --email bob@work.com,steve@work.com
122
+ Live at URL: http://checkcheckit.herokuapp.com/4f24b9d933d5467ec913461b8da3f952dbe724cb
123
+ Websocket refused connection - using POST
124
+ |........| Step 1: Make sure there are no uncommitted changes
125
+ > `git status`
126
+ Check: ^C
127
+ bye
128
+
129
+ ## TODO
130
+
131
+ - resume a run locally from URL
132
+ - post to campfire
88
133
 
89
134
  ## Contributing
90
135
 
data/Rakefile CHANGED
@@ -1 +1,4 @@
1
1
  require "bundler/gem_tasks"
2
+ require 'vault-test-tools/rake_task'
3
+
4
+ task(default: :test)
@@ -1,6 +1,7 @@
1
1
  require 'ostruct'
2
2
  require 'uri'
3
3
 
4
+ # Uses the "big bowl of pudding' architecture
4
5
  class CheckCheckIt::Console
5
6
  attr_accessor :list_dir
6
7
  attr_accessor :out_stream, :in_stream, :web_socket
@@ -51,6 +52,8 @@ class CheckCheckIt::Console
51
52
  Process.detach fork{ exec("open #{url}") }
52
53
  end
53
54
 
55
+ return if @options['no-cli'] || @options['web-only']
56
+
54
57
  begin
55
58
  @client = web_socket.connect(web_service_url, sync: true) do
56
59
  after_start { emit('register', {list_id: list_id}) }
@@ -61,7 +64,6 @@ class CheckCheckIt::Console
61
64
  end
62
65
  end
63
66
 
64
- return if @options['no-cli'] || @options['web']
65
67
  step_through_list(list)
66
68
  else
67
69
  puts "Could not find checklist via: #{target}"
@@ -1,3 +1,3 @@
1
1
  module CheckCheckIt
2
- VERSION = "0.1.2"
2
+ VERSION = "0.1.3"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: checkcheckit
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.1.3
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -84,6 +84,7 @@ extensions: []
84
84
  extra_rdoc_files: []
85
85
  files:
86
86
  - .gitignore
87
+ - .travis.yml
87
88
  - Gemfile
88
89
  - LICENSE.txt
89
90
  - README.md
@@ -114,7 +115,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
114
115
  version: '0'
115
116
  segments:
116
117
  - 0
117
- hash: -2207512465125543391
118
+ hash: -36693563050523198
118
119
  required_rubygems_version: !ruby/object:Gem::Requirement
119
120
  none: false
120
121
  requirements:
@@ -123,7 +124,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
123
124
  version: '0'
124
125
  segments:
125
126
  - 0
126
- hash: -2207512465125543391
127
+ hash: -36693563050523198
127
128
  requirements: []
128
129
  rubyforge_project:
129
130
  rubygems_version: 1.8.23