omnifocus 2.6.0 → 2.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.
- checksums.yaml +4 -4
- checksums.yaml.gz.sig +0 -0
- data/History.rdoc +17 -0
- data/Rakefile +1 -1
- data/bin/of +1 -0
- data/lib/omnifocus.rb +35 -17
- data.tar.gz.sig +0 -0
- metadata +16 -16
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ddf124365ed5a5b3b49db9297322210bcd365be07a958b8d04c095367082a26a
|
4
|
+
data.tar.gz: eaa5696f26809287c533b6dc4dffdcb19839128fafb07d9e1d40b5bc1543815e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: fd581b4f1df8028d72b52eb5aa98ccd0e596b1d54309da10dc692f7f6b78735af92121bfd935301d95d62e16faf80f35c49e88b36cdc556d54ced436a7f51991
|
7
|
+
data.tar.gz: 63199ee6de77af1b367959445c897ab11c5bbe08eb9ed47bb9ab5e1eb70a40d5c4a1db3c72669ae2461792e0a3265455658d3882efe3db5d24d42bd7ffce719d
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
data/History.rdoc
CHANGED
@@ -1,3 +1,20 @@
|
|
1
|
+
=== 2.7.0 / 2022-04-09
|
2
|
+
|
3
|
+
* 4 minor enhancements:
|
4
|
+
|
5
|
+
* Added #active qualifier
|
6
|
+
* Added all_active_tasks
|
7
|
+
* Added filtering to #all_subtasks.
|
8
|
+
* Added some cleanup to remove duplicate tasks (by ticket_id, first one wins).
|
9
|
+
|
10
|
+
* 5 bug fixes:
|
11
|
+
|
12
|
+
* Fix for CJK name support. (inevity)
|
13
|
+
* Fixed #non_dropped_project for newer omnifocus applescript changes.
|
14
|
+
* Fixed creating release/triage tasks for an existing project.
|
15
|
+
* Fixed filtering existing tasks, was ignoring '_' in project names and duplicating tasks.
|
16
|
+
* Force load all plugins in bin/of on start
|
17
|
+
|
1
18
|
=== 2.6.0 / 2020-02-12
|
2
19
|
|
3
20
|
* 4 minor enhancements:
|
data/Rakefile
CHANGED
data/bin/of
CHANGED
data/lib/omnifocus.rb
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
old_w, $-w = $-w, nil
|
2
2
|
require 'rb-scpt'
|
3
3
|
$-w = old_w
|
4
|
+
require "yaml"
|
4
5
|
|
5
6
|
NERD_FOLDER = ENV["OF_FOLDER"] || "nerd"
|
6
7
|
|
@@ -29,7 +30,7 @@ include Appscript
|
|
29
30
|
# bts_id: a string uniquely identifying a task: SYSTEM(-projectname)?#id
|
30
31
|
|
31
32
|
class OmniFocus
|
32
|
-
VERSION = "2.
|
33
|
+
VERSION = "2.7.0"
|
33
34
|
|
34
35
|
class << self
|
35
36
|
attr_accessor :description, :current_desc
|
@@ -73,10 +74,9 @@ class OmniFocus
|
|
73
74
|
##
|
74
75
|
# Load any file matching "omnifocus/*.rb"
|
75
76
|
|
76
|
-
def self._load_plugins
|
77
|
+
def self._load_plugins filter = ARGV.shift
|
77
78
|
@__loaded__ ||=
|
78
79
|
begin
|
79
|
-
filter = ARGV.shift
|
80
80
|
loaded = {}
|
81
81
|
Gem.find_files("omnifocus/*.rb").each do |path|
|
82
82
|
name = File.basename path
|
@@ -97,8 +97,6 @@ class OmniFocus
|
|
97
97
|
end
|
98
98
|
|
99
99
|
def load_or_create_config
|
100
|
-
require "yaml"
|
101
|
-
|
102
100
|
path = File.expand_path "~/.omnifocus.yml"
|
103
101
|
|
104
102
|
unless File.exist? path then
|
@@ -126,8 +124,12 @@ class OmniFocus
|
|
126
124
|
@omnifocus ||= Appscript.app('OmniFocus').default_document
|
127
125
|
end
|
128
126
|
|
129
|
-
def all_subtasks task
|
130
|
-
|
127
|
+
def all_subtasks task, filter = nil
|
128
|
+
if filter then
|
129
|
+
[task] + task.tasks[filter].get.flatten.map{ |t| all_subtasks t, filter }
|
130
|
+
else
|
131
|
+
[task] + task.tasks.get.flatten.map{ |t| all_subtasks t }
|
132
|
+
end
|
131
133
|
end
|
132
134
|
|
133
135
|
def all_tasks
|
@@ -136,6 +138,10 @@ class OmniFocus
|
|
136
138
|
omnifocus.flattened_projects.tasks.get.flatten.map{|t| all_subtasks(t) }.flatten
|
137
139
|
end
|
138
140
|
|
141
|
+
def all_active_tasks
|
142
|
+
omnifocus.flattened_projects.tasks[active].get.flatten.map{|t| all_subtasks(t, active) }.flatten
|
143
|
+
end
|
144
|
+
|
139
145
|
##
|
140
146
|
# Utility shortcut to make a new thing with a name via appscript.
|
141
147
|
|
@@ -168,7 +174,7 @@ class OmniFocus
|
|
168
174
|
prefixen = self.class._plugins.map { |klass| klass::PREFIX rescue nil }
|
169
175
|
of_tasks = nil
|
170
176
|
|
171
|
-
prefix_re = /^(#{Regexp.union prefixen}(?:-[\
|
177
|
+
prefix_re = /^(#{Regexp.union prefixen}(?:-[\s\p{L}._-]+)?\#\d+)/
|
172
178
|
|
173
179
|
if prefixen.all? then
|
174
180
|
of_tasks = all_tasks.find_all { |task|
|
@@ -183,8 +189,15 @@ class OmniFocus
|
|
183
189
|
end
|
184
190
|
|
185
191
|
of_tasks.each do |of_task|
|
186
|
-
ticket_id
|
192
|
+
ticket_id = of_task.name.get[prefix_re, 1]
|
187
193
|
project = of_task.containing_project.name.get
|
194
|
+
|
195
|
+
if existing.key? ticket_id
|
196
|
+
warn "Duplicate task! #{ticket_id}"
|
197
|
+
warn " deleting: #{of_task.id_.get}"
|
198
|
+
omnifocus.flattened_projects.tasks.delete of_task
|
199
|
+
end
|
200
|
+
|
188
201
|
existing[ticket_id] = project
|
189
202
|
bug_db[project][ticket_id] = false
|
190
203
|
end
|
@@ -590,19 +603,20 @@ class OmniFocus
|
|
590
603
|
unless proj then
|
591
604
|
warn "creating #{name} project"
|
592
605
|
proj = make nerd_projects, :project, name, :review_interval => rep
|
606
|
+
end
|
593
607
|
|
608
|
+
rel_task = proj.tasks[rel_q].first.get rescue nil
|
609
|
+
tri_task = proj.tasks[tri_q].first.get rescue nil
|
610
|
+
|
611
|
+
if rel_task || tri_task then # repair
|
612
|
+
new_task_from proj, tri_task, "Release #{name}", rel_tag, -min30 unless rel_task
|
613
|
+
new_task_from proj, rel_task, "Triage #{name}", tri_tag, +min30 unless tri_task
|
614
|
+
else
|
594
615
|
make proj, :task, "Release #{name}", props.merge(:due_date => rel_due_date,
|
595
616
|
:primary_tag => rel_tag)
|
596
617
|
make proj, :task, "Triage #{name}", props.merge(:due_date => tri_due_date,
|
597
618
|
:primary_tag => tri_tag)
|
598
|
-
return
|
599
619
|
end
|
600
|
-
|
601
|
-
rel_task = proj.tasks[rel_q].first.get rescue nil
|
602
|
-
tri_task = proj.tasks[tri_q].first.get rescue nil
|
603
|
-
|
604
|
-
new_task_from proj, tri_task, "Release #{name}", rel_tag, -min30 unless rel_task
|
605
|
-
new_task_from proj, rel_task, "Triage #{name}", tri_tag, +min30 unless tri_task
|
606
620
|
end
|
607
621
|
|
608
622
|
def new_task_from proj, task, name, tag, offset
|
@@ -964,8 +978,12 @@ class OmniFocus
|
|
964
978
|
its.status.eq(:active)
|
965
979
|
end
|
966
980
|
|
981
|
+
def active
|
982
|
+
its.completed.eq(false)
|
983
|
+
end
|
984
|
+
|
967
985
|
def non_dropped_project
|
968
|
-
its.status.eq(:
|
986
|
+
its.status.eq(:dropped_status).not
|
969
987
|
end
|
970
988
|
|
971
989
|
def all_projects
|
data.tar.gz.sig
CHANGED
Binary file
|
metadata
CHANGED
@@ -1,19 +1,19 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: omnifocus
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.7.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ryan Davis
|
8
8
|
- aja
|
9
|
-
autorequire:
|
9
|
+
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain:
|
12
12
|
- |
|
13
13
|
-----BEGIN CERTIFICATE-----
|
14
|
-
|
14
|
+
MIIDPjCCAiagAwIBAgIBBjANBgkqhkiG9w0BAQsFADBFMRMwEQYDVQQDDApyeWFu
|
15
15
|
ZC1ydWJ5MRkwFwYKCZImiZPyLGQBGRYJemVuc3BpZGVyMRMwEQYKCZImiZPyLGQB
|
16
|
-
|
16
|
+
GRYDY29tMB4XDTIxMTIyMzIzMTkwNFoXDTIyMTIyMzIzMTkwNFowRTETMBEGA1UE
|
17
17
|
AwwKcnlhbmQtcnVieTEZMBcGCgmSJomT8ixkARkWCXplbnNwaWRlcjETMBEGCgmS
|
18
18
|
JomT8ixkARkWA2NvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALda
|
19
19
|
b9DCgK+627gPJkB6XfjZ1itoOQvpqH1EXScSaba9/S2VF22VYQbXU1xQXL/WzCkx
|
@@ -23,14 +23,14 @@ cert_chain:
|
|
23
23
|
qhtV7HJxNKuPj/JFH0D2cswvzznE/a5FOYO68g+YCuFi5L8wZuuM8zzdwjrWHqSV
|
24
24
|
gBEfoTEGr7Zii72cx+sCAwEAAaM5MDcwCQYDVR0TBAIwADALBgNVHQ8EBAMCBLAw
|
25
25
|
HQYDVR0OBBYEFEfFe9md/r/tj/Wmwpy+MI8d9k/hMA0GCSqGSIb3DQEBCwUAA4IB
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
26
|
+
AQCKB5jfsuSnKb+t/Wrh3UpdkmX7TrEsjVmERC0pPqzQ5GQJgmEXDD7oMgaKXaAq
|
27
|
+
x2m+KSZDrqk7c8uho5OX6YMqg4KdxehfSLqqTZGoeV78qwf/jpPQZKTf+W9gUSJh
|
28
|
+
zsWpo4K50MP+QtdSbKXZwjAafpQ8hK0MnnZ/aeCsW9ov5vdXpYbf3dpg6ADXRGE7
|
29
|
+
lQY2y1tJ5/chqu6h7dQmnm2ABUqx9O+JcN9hbCYoA5i/EeubUEtFIh2w3SpO6YfB
|
30
|
+
JFmxn4h9YO/pVdB962BdBNNDia0kgIjI3ENnkLq0dKpYU3+F3KhEuTksLO0L6X/V
|
31
|
+
YsuyUzsMz6GQA4khyaMgKNSD
|
32
32
|
-----END CERTIFICATE-----
|
33
|
-
date:
|
33
|
+
date: 2022-04-09 00:00:00.000000000 Z
|
34
34
|
dependencies:
|
35
35
|
- !ruby/object:Gem::Dependency
|
36
36
|
name: rb-scpt
|
@@ -86,14 +86,14 @@ dependencies:
|
|
86
86
|
requirements:
|
87
87
|
- - "~>"
|
88
88
|
- !ruby/object:Gem::Version
|
89
|
-
version: '3.
|
89
|
+
version: '3.23'
|
90
90
|
type: :development
|
91
91
|
prerelease: false
|
92
92
|
version_requirements: !ruby/object:Gem::Requirement
|
93
93
|
requirements:
|
94
94
|
- - "~>"
|
95
95
|
- !ruby/object:Gem::Version
|
96
|
-
version: '3.
|
96
|
+
version: '3.23'
|
97
97
|
description: Synchronizes bug tracking systems to omnifocus.
|
98
98
|
email:
|
99
99
|
- ryand-ruby@zenspider.com
|
@@ -122,7 +122,7 @@ licenses:
|
|
122
122
|
- MIT
|
123
123
|
metadata:
|
124
124
|
homepage_uri: https://github.com/seattlerb/omnifocus
|
125
|
-
post_install_message:
|
125
|
+
post_install_message:
|
126
126
|
rdoc_options:
|
127
127
|
- "--main"
|
128
128
|
- README.rdoc
|
@@ -139,8 +139,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
139
139
|
- !ruby/object:Gem::Version
|
140
140
|
version: 1.3.1
|
141
141
|
requirements: []
|
142
|
-
rubygems_version: 3.
|
143
|
-
signing_key:
|
142
|
+
rubygems_version: 3.3.3
|
143
|
+
signing_key:
|
144
144
|
specification_version: 4
|
145
145
|
summary: Synchronizes bug tracking systems to omnifocus.
|
146
146
|
test_files: []
|
metadata.gz.sig
CHANGED
Binary file
|