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 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