omnifocus-github 1.6.0 → 1.7.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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