dug 0.1.0.alpha2 → 0.2.0

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