omnifocus-github 1.6.0 → 1.7.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.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 53da4ddd325d19660bc5106a8cc2c56d3173735b
4
+ data.tar.gz: f6bbccd1c268b17f334bc8471c55a389bc6babcc
5
+ SHA512:
6
+ metadata.gz: 1014ce60fa13712e67cc760dfabac830f7ded71f9c9b968c8c77f7ffe2d0316c3c811542f6444b285922b73f6d1e8e9456ec0db8bf3fb18097abeca9501e527e
7
+ data.tar.gz: 3ae409871b35b0cda3047b5cc77d270bfd88fcd4c67fd472db6515b052a00892c5f068bf54cf6f88886fed32d0e31dbc9211dfab4015ac36d0d1a45900768be7
Binary file
data.tar.gz.sig CHANGED
Binary file
@@ -1,3 +1,15 @@
1
+ === 1.7.0 / 2013-12-05
2
+
3
+ * 3 minor enhancements:
4
+
5
+ * Added oauth-token authentication support: `git config --add github.oauth-token val`
6
+ * Turned on auto_paginate to ensure full list of issues.
7
+ * Updated dependency on octokit to ~> 2.0.
8
+
9
+ * 1 bug fix:
10
+
11
+ * omnifocus-github now bitches if no accounts authenticate properly.
12
+
1
13
  === 1.6.0 / 2013-07-24
2
14
 
3
15
  * 2 major enhancements:
data/Rakefile CHANGED
@@ -7,12 +7,12 @@ Hoe.plugin :seattlerb
7
7
 
8
8
  Hoe.spec 'omnifocus-github' do
9
9
  developer 'Ryan Davis', 'ryand-ruby@zenspider.com'
10
+ developer "aja", "kushali@rubyforge.org"
10
11
 
11
- dependency "omnifocus", "~> 2.0"
12
- dependency "octokit", "~> 1.24"
13
- dependency "system-timer", "~> 1.2" # bug in octokit's deps
12
+ license "MIT"
14
13
 
15
- self.rubyforge_name = 'seattlerb'
14
+ dependency "omnifocus", "~> 2.0"
15
+ dependency "octokit", "~> 2.0"
16
16
  end
17
17
 
18
18
  # vim: syntax=ruby
@@ -1,10 +1,13 @@
1
1
  require 'octokit'
2
2
 
3
+ Octokit.auto_paginate = true
4
+
3
5
  module OmniFocus::Github
4
- VERSION = "1.6.0"
6
+ VERSION = "1.7.0"
5
7
  PREFIX = "GH"
6
8
 
7
9
  def populate_github_tasks
10
+ processed = false
8
11
  omnifocus_git_param(:accounts, "github").split(/\s+/).each do |account|
9
12
  endpoints = {}
10
13
  endpoints[:api] = omnifocus_git_param(:api, nil, account)
@@ -12,18 +15,23 @@ module OmniFocus::Github
12
15
 
13
16
  # User + password is required
14
17
  auth = {
15
- :user => omnifocus_git_param(:user, nil, account),
16
- :password => omnifocus_git_param(:password, nil, account),
18
+ :user => omnifocus_git_param(:user, nil, account),
19
+ :password => omnifocus_git_param(:password, nil, account),
20
+ :oauth => omnifocus_git_param("oauth-token", nil, account),
17
21
  }
18
- unless (auth[:user] && auth[:password])
22
+
23
+ unless auth[:user] && (auth[:password] || auth[:oauth])
19
24
  warn "Missing authentication parameters for account #{account}."
20
25
  next
21
26
  end
22
27
 
28
+ processed = true
23
29
  account_label = account == "github" ? nil : account
24
30
 
25
31
  process(account_label, gh_client(account, auth, endpoints))
26
32
  end
33
+
34
+ raise "No accounts authenticated. Bailing." unless processed
27
35
  end
28
36
 
29
37
  def omnifocus_git_param name, default = nil, prefix = "omnifocus-github"
@@ -48,6 +56,9 @@ module OmniFocus::Github
48
56
  :password => auth[:password])
49
57
 
50
58
  client.user(auth[:user])
59
+ elsif auth[:user] && auth[:oauth]
60
+ client = Octokit::Client.new :access_token => auth[:oauth]
61
+ client.user.login
51
62
  else
52
63
  raise ArgumentError, "Missing authentication"
53
64
  end
@@ -55,17 +66,18 @@ module OmniFocus::Github
55
66
  end
56
67
 
57
68
  def process account, client
58
- client.user_issues.each do |issue|
69
+ client.list_issues.each do |issue|
59
70
  pr = issue["pull_request"] && !issue["pull_request"]["diff_url"].nil?
60
- number = issue["number"]
61
- url = issue["html_url"]
62
- project = [account, url.split(/\//)[-3]].compact.join("-")
71
+ number = issue.number
72
+ project = issue.repository.full_name.split("/").last
63
73
  ticket_id = "#{PREFIX}-#{project}##{number}"
64
74
  title = "#{ticket_id}: #{pr ? "[PR] " : ""}#{issue["title"]}"
75
+ # HACK
76
+ url = "https://github.com/#{issue.repository.full_name}/issues/#{number}"
65
77
  note = "#{url}\n\n#{issue["body"]}"
66
78
 
67
79
  if existing[ticket_id] then
68
- bug_db[existing[ticket_id]][ticket_id] = true
80
+ bug_db[project][ticket_id] = true
69
81
  next
70
82
  end
71
83
 
metadata CHANGED
@@ -1,24 +1,19 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: omnifocus-github
3
- version: !ruby/object:Gem::Version
4
- hash: 15
5
- prerelease:
6
- segments:
7
- - 1
8
- - 6
9
- - 0
10
- version: 1.6.0
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.7.0
11
5
  platform: ruby
12
- authors:
6
+ authors:
13
7
  - Ryan Davis
8
+ - aja
14
9
  autorequire:
15
10
  bindir: bin
16
- cert_chain:
11
+ cert_chain:
17
12
  - |
18
13
  -----BEGIN CERTIFICATE-----
19
- MIIDPjCCAiagAwIBAgIBADANBgkqhkiG9w0BAQUFADBFMRMwEQYDVQQDDApyeWFu
14
+ MIIDPjCCAiagAwIBAgIBATANBgkqhkiG9w0BAQUFADBFMRMwEQYDVQQDDApyeWFu
20
15
  ZC1ydWJ5MRkwFwYKCZImiZPyLGQBGRYJemVuc3BpZGVyMRMwEQYKCZImiZPyLGQB
21
- GRYDY29tMB4XDTA5MDMwNjE4NTMxNVoXDTEwMDMwNjE4NTMxNVowRTETMBEGA1UE
16
+ GRYDY29tMB4XDTEzMDkxNjIzMDQxMloXDTE0MDkxNjIzMDQxMlowRTETMBEGA1UE
22
17
  AwwKcnlhbmQtcnVieTEZMBcGCgmSJomT8ixkARkWCXplbnNwaWRlcjETMBEGCgmS
23
18
  JomT8ixkARkWA2NvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALda
24
19
  b9DCgK+627gPJkB6XfjZ1itoOQvpqH1EXScSaba9/S2VF22VYQbXU1xQXL/WzCkx
@@ -28,146 +23,108 @@ cert_chain:
28
23
  qhtV7HJxNKuPj/JFH0D2cswvzznE/a5FOYO68g+YCuFi5L8wZuuM8zzdwjrWHqSV
29
24
  gBEfoTEGr7Zii72cx+sCAwEAAaM5MDcwCQYDVR0TBAIwADALBgNVHQ8EBAMCBLAw
30
25
  HQYDVR0OBBYEFEfFe9md/r/tj/Wmwpy+MI8d9k/hMA0GCSqGSIb3DQEBBQUAA4IB
31
- AQAY59gYvDxqSqgC92nAP9P8dnGgfZgLxP237xS6XxFGJSghdz/nI6pusfCWKM8m
32
- vzjjH2wUMSSf3tNudQ3rCGLf2epkcU13/rguI88wO6MrE0wi4ZqLQX+eZQFskJb/
33
- w6x9W1ur8eR01s397LSMexySDBrJOh34cm2AlfKr/jokKCTwcM0OvVZnAutaovC0
34
- l1SVZ0ecg88bsWHA0Yhh7NFxK1utWoIhtB6AFC/+trM0FQEB/jZkIS8SaNzn96Rl
35
- n0sZEf77FLf5peR8TP/PtmIg7Cyqz23sLM4mCOoTGIy5OcZ8TdyiyINUHtb5ej/T
36
- FBHgymkyj/AOSqKRIpXPhjC6
26
+ AQCFZ7JTzoy1gcG4d8A6dmOJy7ygtO5MFpRIz8HuKCF5566nOvpy7aHhDDzFmQuu
27
+ FX3zDU6ghx5cQIueDhf2SGOncyBmmJRRYawm3wI0o1MeN6LZJ/3cRaOTjSFy6+S6
28
+ zqDmHBp8fVA2TGJtO0BLNkbGVrBJjh0UPmSoGzWlRhEVnYC33TpDAbNA+u39UrQI
29
+ ynwhNN7YbnmSR7+JU2cUjBFv2iPBO+TGuWC+9L2zn3NHjuc6tnmSYipA9y8Hv+As
30
+ Y4evBVezr3SjXz08vPqRO5YRdO3zfeMT8gBjRqZjWJGMZ2lD4XNfrs7eky74CyZw
31
+ xx3n58i0lQkBE1EpKE0lFu/y
37
32
  -----END CERTIFICATE-----
38
-
39
- date: 2013-07-24 00:00:00 Z
40
- dependencies:
41
- - !ruby/object:Gem::Dependency
33
+ date: 2013-12-05 00:00:00.000000000 Z
34
+ dependencies:
35
+ - !ruby/object:Gem::Dependency
42
36
  name: omnifocus
43
- prerelease: false
44
- requirement: &id001 !ruby/object:Gem::Requirement
45
- none: false
46
- requirements:
37
+ requirement: !ruby/object:Gem::Requirement
38
+ requirements:
47
39
  - - ~>
48
- - !ruby/object:Gem::Version
49
- hash: 3
50
- segments:
51
- - 2
52
- - 0
53
- version: "2.0"
40
+ - !ruby/object:Gem::Version
41
+ version: '2.0'
54
42
  type: :runtime
55
- version_requirements: *id001
56
- - !ruby/object:Gem::Dependency
57
- name: octokit
58
43
  prerelease: false
59
- requirement: &id002 !ruby/object:Gem::Requirement
60
- none: false
61
- requirements:
44
+ version_requirements: !ruby/object:Gem::Requirement
45
+ requirements:
46
+ - - ~>
47
+ - !ruby/object:Gem::Version
48
+ version: '2.0'
49
+ - !ruby/object:Gem::Dependency
50
+ name: octokit
51
+ requirement: !ruby/object:Gem::Requirement
52
+ requirements:
62
53
  - - ~>
63
- - !ruby/object:Gem::Version
64
- hash: 63
65
- segments:
66
- - 1
67
- - 24
68
- version: "1.24"
54
+ - !ruby/object:Gem::Version
55
+ version: '2.0'
69
56
  type: :runtime
70
- version_requirements: *id002
71
- - !ruby/object:Gem::Dependency
72
- name: system-timer
73
57
  prerelease: false
74
- requirement: &id003 !ruby/object:Gem::Requirement
75
- none: false
76
- requirements:
58
+ version_requirements: !ruby/object:Gem::Requirement
59
+ requirements:
77
60
  - - ~>
78
- - !ruby/object:Gem::Version
79
- hash: 11
80
- segments:
81
- - 1
82
- - 2
83
- version: "1.2"
84
- type: :runtime
85
- version_requirements: *id003
86
- - !ruby/object:Gem::Dependency
61
+ - !ruby/object:Gem::Version
62
+ version: '2.0'
63
+ - !ruby/object:Gem::Dependency
87
64
  name: minitest
88
- prerelease: false
89
- requirement: &id004 !ruby/object:Gem::Requirement
90
- none: false
91
- requirements:
65
+ requirement: !ruby/object:Gem::Requirement
66
+ requirements:
92
67
  - - ~>
93
- - !ruby/object:Gem::Version
94
- hash: 31
95
- segments:
96
- - 5
97
- - 0
98
- version: "5.0"
68
+ - !ruby/object:Gem::Version
69
+ version: '5.0'
99
70
  type: :development
100
- version_requirements: *id004
101
- - !ruby/object:Gem::Dependency
102
- name: rdoc
103
71
  prerelease: false
104
- requirement: &id005 !ruby/object:Gem::Requirement
105
- none: false
106
- requirements:
72
+ version_requirements: !ruby/object:Gem::Requirement
73
+ requirements:
107
74
  - - ~>
108
- - !ruby/object:Gem::Version
109
- hash: 27
110
- segments:
111
- - 4
112
- - 0
113
- version: "4.0"
75
+ - !ruby/object:Gem::Version
76
+ version: '5.0'
77
+ - !ruby/object:Gem::Dependency
78
+ name: rdoc
79
+ requirement: !ruby/object:Gem::Requirement
80
+ requirements:
81
+ - - ~>
82
+ - !ruby/object:Gem::Version
83
+ version: '4.0'
114
84
  type: :development
115
- version_requirements: *id005
116
- - !ruby/object:Gem::Dependency
117
- name: hoe
118
85
  prerelease: false
119
- requirement: &id006 !ruby/object:Gem::Requirement
120
- none: false
121
- requirements:
86
+ version_requirements: !ruby/object:Gem::Requirement
87
+ requirements:
122
88
  - - ~>
123
- - !ruby/object:Gem::Version
124
- hash: 9
125
- segments:
126
- - 3
127
- - 7
128
- version: "3.7"
89
+ - !ruby/object:Gem::Version
90
+ version: '4.0'
91
+ - !ruby/object:Gem::Dependency
92
+ name: hoe
93
+ requirement: !ruby/object:Gem::Requirement
94
+ requirements:
95
+ - - ~>
96
+ - !ruby/object:Gem::Version
97
+ version: '3.7'
129
98
  type: :development
130
- version_requirements: *id006
131
- description: |-
132
- Plugin for omnifocus gem to provide github BTS synchronization.
133
-
134
- Support for Github Enterprise:
135
-
136
- In your git config, set the key omnifocus-github.accounts to a space
137
- separated list of github accounts.
138
-
139
- git config --global omnifocus-github.accounts "github myghe"
140
-
141
- For each account API and web end points and authentication information
142
- should be stored in the git config under a key matching the
143
- account. For example:
144
-
145
- git config --global github.user me
146
- git config --global github.password mypassword
147
- git config --global myghe.api https://ghe.mydomain.com/api/v3
148
- git config --global myghe.api https://ghe.mydomain.com/
149
-
150
- For each account can you specify the following parameters:
151
-
152
- * api - specify an API endpoint other than
153
- https://api.github.com. This is so you can point this at your Github
154
- Enterprise endpoint.
155
-
156
- * web - specify an API endpoint other than https://www.github.com. This
157
- is so you can point this at your Github Enterprise endpoint
158
-
159
- * user, password - A username and password pair for Basic http authentication.
160
- email:
99
+ prerelease: false
100
+ version_requirements: !ruby/object:Gem::Requirement
101
+ requirements:
102
+ - - ~>
103
+ - !ruby/object:Gem::Version
104
+ version: '3.7'
105
+ description: "Plugin for omnifocus gem to provide github BTS synchronization.\n\nSupport
106
+ for Github Enterprise:\n\nIn your git config, set the key omnifocus-github.accounts
107
+ to a space\nseparated list of github accounts. \n\n git config --global omnifocus-github.accounts
108
+ \"github myghe\"\n\nFor each account API and web end points and authentication information
109
+ \nshould be stored in the git config under a key matching the\naccount. For example:\n\n
110
+ \ git config --global github.user me\n git config --global github.password
111
+ mypassword\n git config --global myghe.api https://ghe.mydomain.com/api/v3\n
112
+ \ git config --global myghe.api https://ghe.mydomain.com/\n\nFor each account
113
+ can you specify the following parameters:\n\n* api - specify an API endpoint other
114
+ than\n https://api.github.com. This is so you can point this at your Github\n Enterprise
115
+ endpoint.\n\n* web - specify an API endpoint other than https://www.github.com.
116
+ This\n is so you can point this at your Github Enterprise endpoint\n\n* user, password
117
+ - A username and password pair for Basic http authentication."
118
+ email:
161
119
  - ryand-ruby@zenspider.com
120
+ - kushali@rubyforge.org
162
121
  executables: []
163
-
164
122
  extensions: []
165
-
166
- extra_rdoc_files:
123
+ extra_rdoc_files:
167
124
  - History.txt
168
125
  - Manifest.txt
169
126
  - README.txt
170
- files:
127
+ files:
171
128
  - .autotest
172
129
  - History.txt
173
130
  - Manifest.txt
@@ -175,38 +132,29 @@ files:
175
132
  - Rakefile
176
133
  - lib/omnifocus/github.rb
177
134
  homepage: https://github.com/seattlerb/omnifocus-github
178
- licenses:
135
+ licenses:
179
136
  - MIT
137
+ metadata: {}
180
138
  post_install_message:
181
- rdoc_options:
139
+ rdoc_options:
182
140
  - --main
183
141
  - README.txt
184
- require_paths:
142
+ require_paths:
185
143
  - lib
186
- required_ruby_version: !ruby/object:Gem::Requirement
187
- none: false
188
- requirements:
189
- - - ">="
190
- - !ruby/object:Gem::Version
191
- hash: 3
192
- segments:
193
- - 0
194
- version: "0"
195
- required_rubygems_version: !ruby/object:Gem::Requirement
196
- none: false
197
- requirements:
198
- - - ">="
199
- - !ruby/object:Gem::Version
200
- hash: 3
201
- segments:
202
- - 0
203
- version: "0"
144
+ required_ruby_version: !ruby/object:Gem::Requirement
145
+ requirements:
146
+ - - '>='
147
+ - !ruby/object:Gem::Version
148
+ version: '0'
149
+ required_rubygems_version: !ruby/object:Gem::Requirement
150
+ requirements:
151
+ - - '>='
152
+ - !ruby/object:Gem::Version
153
+ version: '0'
204
154
  requirements: []
205
-
206
- rubyforge_project: seattlerb
207
- rubygems_version: 1.8.25
155
+ rubyforge_project: omnifocus-github
156
+ rubygems_version: 2.1.10
208
157
  signing_key:
209
- specification_version: 3
158
+ specification_version: 4
210
159
  summary: Plugin for omnifocus gem to provide github BTS synchronization
211
160
  test_files: []
212
-
metadata.gz.sig CHANGED
Binary file