dug 0.1.0.alpha2 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (4) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +35 -13
  3. data/lib/dug/version.rb +1 -1
  4. metadata +3 -3
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 8c6c01300fe32cff493d71785c74fe0c37e02673
4
- data.tar.gz: bf879e429299828cc2adf2bff39a1b30458da86c
3
+ metadata.gz: 0d92695864762a5b6667cb71be82f5655118bed7
4
+ data.tar.gz: 03a4ae0c0d2ebc6b2622a84ce2b9bc2d3ae0500e
5
5
  SHA512:
6
- metadata.gz: 93dce7d68c25b9af837420525c8daad4bf489f93f1688445054f0794ea278a4b27344737b217bd26c6ce1183ca458497c72b6cd1c4effa25c854317774af7e27
7
- data.tar.gz: 5aeac95bf1b2b1d41af25858c0c68e2f04874f960b6add28cb63cf67166010de76be0e578e0def24d4033e6dd546c842108cdd6d5e9fab4f09cf7f517b1e9ce0
6
+ metadata.gz: ec5f7374bf6513f68903ccef656b0d1825cf6c8df350c20396bf89b4e4bfbb49e508b9789100a52d8ad99004b9191aaa56521eb90d5d327500f6c3443ecefb3b
7
+ data.tar.gz: ca0c3d4b18afa6c6d76a9b9641143f402f71abd963c0fb463e0d3c664d8e977967fc9486e09c5b9c4e56095abb647ae7d441ace680321ff56279602e64c7f59c
data/README.md CHANGED
@@ -6,13 +6,14 @@
6
6
 
7
7
  Created out of frustration. _"[D]amn yo[u], [G]mail!"_
8
8
 
9
- **Dug is a simple, configurable gem to organize your GitHub notification emails in
10
- ways Gmail can't and in an easier-to-configure way.** It interacts with Google's
11
- Gmail API to do all the things that people usually do with Gmail filters (label by
12
- organization name, repository name) as well as parse GitHub's custom X headers to
13
- label your messages with things like "Mentioned by name", "Assigned to me",
14
- "Commented", etc.
9
+ **Dug is a simple, configurable gem to organize your GitHub notification emails
10
+ in ways Gmail can't and in an easier-to-maintain way than large, slow Google
11
+ Apps Scripts.** It interacts with Google's Gmail API to do all the things that
12
+ people usually do with Gmail filters (label by organization name, repository
13
+ name) as well as parse GitHub's custom X headers to label your messages with
14
+ things like "Mentioned by name", "Assigned to me", "Commented", etc.
15
15
 
16
+ ![](http://screenshots.chrisarcand.com/permxqkc5.jpg)
16
17
 
17
18
  ## Quick Installation
18
19
 
@@ -23,13 +24,13 @@ whatever).
23
24
 
24
25
  Basic installation steps:
25
26
 
26
- 1. Install Dug
27
+ 1. **Install Dug**
27
28
 
28
29
  ```
29
30
  $ gem install dug
30
31
  ```
31
32
 
32
- 2. Create a YAML Rule file. Example (`dug_rules.yml`):
33
+ 2. **Create a YAML Rule file.** Example (`dug_rules.yml`):
33
34
 
34
35
  ```
35
36
  ---
@@ -63,12 +64,24 @@ Basic installation steps:
63
64
  * Label notifications with `Team mention` if a team I am a part of is mentioned in it.
64
65
  * Label notifications with `Assigned to me` if the Issue/PR is assigned to me.
65
66
 
66
- 3. Create all of the labels in the preceding step in Gmail, if you haven't already.
67
+ 3. **Configure Gmail.** In Gmail...
67
68
 
68
- 4. Create a project in the [Google Developers Console](https://console.developers.google.com) to authenticate to the
69
+ * Create the label "GitHub" and then "Unprocessed" nested underneath it (will show up as "GitHub/Unprocessed").
70
+ * Create all of the labels in the preceding step if you don't have them already.
71
+ * Set up the following filters:
72
+ ```
73
+ Matches: from:(notifications@github.com)
74
+ Do this: Apply label "GitHub/Unprocessed"
75
+
76
+ # This filter is optional but highly recommended.
77
+ Matches: from:(notifications@github.com) -{cc: youremail@example.non}
78
+ Do this: Skip Inbox
79
+ ```
80
+
81
+ 4. **Create a project in the [Google Developers Console](https://console.developers.google.com)** to authenticate to the
69
82
  Gmail API via OAuth 2.0. If you need help, detailed instructions are included further in this document.
70
83
 
71
- 5. Create a script. Example (`script.rb`; fill in your OAuth credentials):
84
+ 5. **Create a runner script.** Example (`script.rb`; fill in your OAuth credentials):
72
85
 
73
86
  ```ruby
74
87
  require 'dug'
@@ -85,7 +98,7 @@ Basic installation steps:
85
98
  Dug::Runner.run
86
99
  ```
87
100
 
88
- 6. Run the script and watch your notifications get organized! The first time your run this you will be given a link to
101
+ 6. **Run the script** and watch your notifications get organized! The first time your run this you will be given a link to
89
102
  visit in your browser to sign in to Gmail verify via a one time token.
90
103
 
91
104
  ```
@@ -96,7 +109,10 @@ Basic installation steps:
96
109
  just write a loop in your script `loop do; Dug::Runner.run; sleep 60; end`. How you run it is completely up to you,
97
110
  and really doesn't matter.
98
111
 
99
- For more help, see verbose instructions below.
112
+ Woo, you're done! Now organizing GitHub notifications, after you subscribe to something on GitHub, is as easy as making
113
+ a label and adding it to your rules YAML.
114
+
115
+ **For more help, see verbose instructions below.**
100
116
 
101
117
  ## Verbose Installation/Usage
102
118
 
@@ -171,6 +187,12 @@ After checking out the repo, run `bin/setup` to install dependencies. Then, run
171
187
  `rake test` to run the tests. You can also run `bin/console` for an interactive
172
188
  prompt that will allow you to experiment.
173
189
 
190
+ ## TODO
191
+ * Add option to parse message body for labelling
192
+ * Add more built-in reasons such as "Closed" statuses
193
+ * The Google Auth Library has an API for Redis that could be supported easily.
194
+ * Moar tests, plz
195
+
174
196
  ## Contributing
175
197
 
176
198
  Bug reports and pull requests are welcome on GitHub at https://github.com/chrisarcand/dug.
@@ -1,3 +1,3 @@
1
1
  module Dug
2
- VERSION = "0.1.0.alpha2"
2
+ VERSION = "0.2.0"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dug
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0.alpha2
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Chris Arcand
@@ -106,9 +106,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
106
106
  version: '0'
107
107
  required_rubygems_version: !ruby/object:Gem::Requirement
108
108
  requirements:
109
- - - ">"
109
+ - - ">="
110
110
  - !ruby/object:Gem::Version
111
- version: 1.3.1
111
+ version: '0'
112
112
  requirements: []
113
113
  rubyforge_project:
114
114
  rubygems_version: 2.5.1