checkcheckit 0.1.2 → 0.1.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/.travis.yml +5 -0
- data/Gemfile +2 -1
- data/README.md +62 -17
- data/Rakefile +3 -0
- data/lib/checkcheckit/console.rb +3 -1
- data/lib/checkcheckit/version.rb +1 -1
- metadata +4 -3
data/.travis.yml
ADDED
data/Gemfile
CHANGED
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
|
-
##
|
17
|
+
## Usage
|
10
18
|
|
11
|
-
|
12
|
-
|
19
|
+
# list your checklists
|
20
|
+
$ check list
|
21
|
+
# Checklists
|
22
|
+
personal
|
23
|
+
groceries
|
24
|
+
work
|
25
|
+
deploy
|
13
26
|
|
14
|
-
|
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
|
-
|
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.
|
77
|
-
that address will receive a message with a link to a web version of the checklist.
|
93
|
+
This is fun.
|
78
94
|
|
79
|
-
|
95
|
+
`check start <listname> --live` will create an _interactive_ companion URL on the web.
|
80
96
|
|
81
|
-
|
82
|
-
|
83
|
-
|
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
|
-
|
108
|
+
|+.......| Step 2: Pull everything from git
|
109
|
+
> `git pull`
|
110
|
+
Check: ^C
|
111
|
+
bye
|
86
112
|
|
87
|
-
|
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
data/lib/checkcheckit/console.rb
CHANGED
@@ -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}"
|
data/lib/checkcheckit/version.rb
CHANGED
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.
|
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: -
|
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: -
|
127
|
+
hash: -36693563050523198
|
127
128
|
requirements: []
|
128
129
|
rubyforge_project:
|
129
130
|
rubygems_version: 1.8.23
|