rubyfocus 0.5.5 → 0.5.6
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/HISTORY.md +63 -0
- data/README.md +2 -2
- data/lib/rubyfocus/core_ext.rb +11 -0
- data/lib/rubyfocus/items/item.rb +2 -2
- data/lib/rubyfocus/items/project.rb +1 -1
- data/lib/rubyfocus/items/task.rb +3 -3
- data/version.txt +1 -1
- metadata +4 -5
- data/.gitignore +0 -4
- data/.rspec +0 -1
- data/Manifest +0 -37
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2e695cc8f092d4f4fd24f1f65f3aa3bcfe808051
|
4
|
+
data.tar.gz: 72c4ce4e2a8c2faca9d59f1a1e3dde2874bf4de8
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 11b5d85f415b2ad27d384e8ab78ff1aebb35983484368d561d6b8cb08398b7491c2b5f9d5041366404a5e97bc6c2673d709f6beb0464cce8b258780187341462
|
7
|
+
data.tar.gz: 49dbdd242c1fc944d5a99b19d8737bd587e5425ef99dc44fc80400ae48ec3a826063e8d1a1f98312a3dfd96b881f509daa91900af4e73b3941712a9863aad3af
|
data/HISTORY.md
ADDED
@@ -0,0 +1,63 @@
|
|
1
|
+
# History
|
2
|
+
|
3
|
+
## 0.5.6 // 2016-09-01
|
4
|
+
|
5
|
+
* [New] Added `Time.safely_parse`, which will not choke on empty strings or nil values
|
6
|
+
* [Fixed] `conditional_set` will no longer choke on empty string for times
|
7
|
+
|
8
|
+
## 0.5.5 // 2016-05-18
|
9
|
+
|
10
|
+
* [Fixed] If there are no patches, `Fetcher#head`s will return the ID of the base file.
|
11
|
+
* [Fixed] `Fetcher#head` will now return the ID of the most recent patch, not the patch itself.
|
12
|
+
* [New] `Searchable` objects will now respond to `find_all`, which is an alias of `select`.
|
13
|
+
* [Fixed] `RankedItem#contained_within?` will now check against all objects matching a block or hash, rather than just the first one that the document can find.
|
14
|
+
|
15
|
+
## 0.5.4 // 2016-02-08
|
16
|
+
|
17
|
+
* [Fixed] `LocalFetcher` will now try the default App Store location if it can't find anything at the normal location.
|
18
|
+
|
19
|
+
## 0.5.3 // 2016-02-04
|
20
|
+
|
21
|
+
* [Fixed] Re-did the code determining whether a task was blocked. Now tasks are considered blocked if their immediate container is blocked.
|
22
|
+
* [Fixed] Caching some task filters on the `Task` class was causing issues. Removed caching, which shouldn't hit performance much.
|
23
|
+
|
24
|
+
## 0.5.2 // 2016-02-04
|
25
|
+
|
26
|
+
* [Fixed] Whoops! Did I leave HTTParty out of the gem install list? My bad!
|
27
|
+
|
28
|
+
## 0.5.1 // 2016-02-03
|
29
|
+
|
30
|
+
* [Fixed] `Task#next_available_task` should no longer cause errors when a project has no tasks.
|
31
|
+
|
32
|
+
## 0.5.0 // 2016-01-20
|
33
|
+
|
34
|
+
Now work out how close to (or far from) the head of your document you are!
|
35
|
+
|
36
|
+
* [New] `Fetcher#head` returns the most recent patch.
|
37
|
+
* [New] `Fetcher#can_reach_head_from?(id)` will inform you if you can get to the head from a given ID.
|
38
|
+
|
39
|
+
## 0.4.0 // 2016-01-01
|
40
|
+
|
41
|
+
* Happy new year!
|
42
|
+
* [Modified] Container IDRef is now located on RankedItem, rather than having several on each RankedItem subclass.
|
43
|
+
* [New] RankedItems can look at their ancestry much more easily, using RankedItem#ancestry and RankedItem#contained_within?
|
44
|
+
* [New] Documents now forbid elements with duplicate IDs unless Document#allow_duplicate_ids is set to true.
|
45
|
+
* [New] Patchers now treate CREATE nodes on elements whose IDs already exist in the database as UPDATE nodes
|
46
|
+
* [Fixed] Patchers will now interpret missing parameters as "default values" e.g. project update without `status` parameter assumed to be active.
|
47
|
+
|
48
|
+
## 0.3.1 // 2015-12-31
|
49
|
+
|
50
|
+
* [Bugfix] IDRefs will now return `nil` if the relevant ID is not set.
|
51
|
+
|
52
|
+
## 0.3.0 // 2015-10-17
|
53
|
+
|
54
|
+
* [New] Now supports remote syncing with the Omni Sync Server!
|
55
|
+
|
56
|
+
## 0.2.0 // 2015-10-11
|
57
|
+
|
58
|
+
* [Bugfix] Will now turn tasks into projects and projects into tasks if the user has done this in OmniFocus.
|
59
|
+
* [Bugfix] Rubyfocus::Patch now does patch application, rather than delegating to the Fetcher.
|
60
|
+
|
61
|
+
## 0.1.0 // 2015-10-10
|
62
|
+
|
63
|
+
* Hello, world!
|
data/README.md
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
# Version: 0.5.
|
1
|
+
# Version: 0.5.6
|
2
2
|
|
3
3
|
Rubyfocus is a one-way (read-only) ruby bridge to OmniFocus. Analyse, store, inspect, or play with your projects and tasks in OmniFocus from the comfort and flexibility of ruby!
|
4
4
|
|
@@ -22,7 +22,7 @@ Now build and install it!
|
|
22
22
|
|
23
23
|
```
|
24
24
|
gem build rubyfocus.gemspec
|
25
|
-
gem install rubyfocus-0.
|
25
|
+
gem install rubyfocus-0.5.6.gem
|
26
26
|
```
|
27
27
|
|
28
28
|
# Usage
|
data/lib/rubyfocus/items/item.rb
CHANGED
@@ -28,8 +28,8 @@ class Rubyfocus::Item
|
|
28
28
|
|
29
29
|
def apply_xml(n)
|
30
30
|
self.id ||= n["id"] # This should not change once set!
|
31
|
-
conditional_set(:added, n.at_xpath("xmlns:added")) { |e| Time.
|
32
|
-
conditional_set(:modified, n.at_xpath("xmlns:modified")) { |e| Time.
|
31
|
+
conditional_set(:added, n.at_xpath("xmlns:added")) { |e| Time.safely_parse(e) }
|
32
|
+
conditional_set(:modified, n.at_xpath("xmlns:modified")) { |e| Time.safely_parse(e) }
|
33
33
|
end
|
34
34
|
alias_method :<<, :apply_xml
|
35
35
|
|
@@ -41,7 +41,7 @@ class Rubyfocus::Project < Rubyfocus::Task
|
|
41
41
|
p = n.at_xpath("xmlns:project")
|
42
42
|
conditional_set(:singleton, p.at_xpath("xmlns:singleton")) { |e| e.inner_html == "true" }
|
43
43
|
conditional_set(:review_interval, p.at_xpath("xmlns:review-interval") ) { |e| Rubyfocus::ReviewPeriod.from_string(e.inner_html) }
|
44
|
-
conditional_set(:last_review, p.at_xpath("xmlns:last-review")) { |e| Time.
|
44
|
+
conditional_set(:last_review, p.at_xpath("xmlns:last-review")) { |e| Time.safely_parse e.inner_html }
|
45
45
|
conditional_set(:status, p.at_xpath("xmlns:status")) { |e| e.inner_html.to_sym }
|
46
46
|
end
|
47
47
|
|
data/lib/rubyfocus/items/task.rb
CHANGED
@@ -31,9 +31,9 @@ class Rubyfocus::Task < Rubyfocus::RankedItem
|
|
31
31
|
conditional_set(:note, n.at_xpath("xmlns:note")) { |e| e.inner_html.strip }
|
32
32
|
conditional_set(:order, n.at_xpath("xmlns:order")) { |e| e.inner_html.to_sym }
|
33
33
|
conditional_set(:flagged, n.at_xpath("xmlns:flagged")) { |e| e.inner_html == "true" }
|
34
|
-
conditional_set(:start, n.at_xpath("xmlns:start")) { |e| Time.
|
35
|
-
conditional_set(:due, n.at_xpath("xmlns:due")) { |e| Time.
|
36
|
-
conditional_set(:completed, n.at_xpath("xmlns:completed")){ |e| Time.
|
34
|
+
conditional_set(:start, n.at_xpath("xmlns:start")) { |e| Time.safely_parse(e.inner_html) }
|
35
|
+
conditional_set(:due, n.at_xpath("xmlns:due")) { |e| Time.safely_parse(e.inner_html) }
|
36
|
+
conditional_set(:completed, n.at_xpath("xmlns:completed")){ |e| Time.safely_parse(e.inner_html) }
|
37
37
|
end
|
38
38
|
|
39
39
|
# Convenience methods
|
data/version.txt
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.5.
|
1
|
+
0.5.6
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rubyfocus
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.5.
|
4
|
+
version: 0.5.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jan-Yves Ruzicka
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-
|
11
|
+
date: 2016-08-31 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: nokogiri
|
@@ -78,11 +78,10 @@ extensions: []
|
|
78
78
|
extra_rdoc_files:
|
79
79
|
- README.md
|
80
80
|
files:
|
81
|
-
-
|
82
|
-
- ".rspec"
|
83
|
-
- Manifest
|
81
|
+
- HISTORY.md
|
84
82
|
- README.md
|
85
83
|
- lib/rubyfocus.rb
|
84
|
+
- lib/rubyfocus/core_ext.rb
|
86
85
|
- lib/rubyfocus/document.rb
|
87
86
|
- lib/rubyfocus/errors.rb
|
88
87
|
- lib/rubyfocus/fetchers/fetcher.rb
|
data/.gitignore
DELETED
data/.rspec
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
-c
|
data/Manifest
DELETED
@@ -1,37 +0,0 @@
|
|
1
|
-
# INCLUDE bin/**/*
|
2
|
-
# INCLUDE lib/**/*
|
3
|
-
# INCLUDE *
|
4
|
-
# EXCLUDE **/.DS_Store
|
5
|
-
# EXCLUDE .*
|
6
|
-
# EXCLUDE Manifest
|
7
|
-
# EXCLUDE stage_ofocus.rb
|
8
|
-
# EXCLUDE spec/files/ofocus_staging
|
9
|
-
|
10
|
-
.gitignore
|
11
|
-
.rspec
|
12
|
-
lib/rubyfocus.rb
|
13
|
-
lib/rubyfocus/document.rb
|
14
|
-
lib/rubyfocus/errors.rb
|
15
|
-
lib/rubyfocus/fetchers/fetcher.rb
|
16
|
-
lib/rubyfocus/fetchers/local_fetcher.rb
|
17
|
-
lib/rubyfocus/fetchers/oss_fetcher.rb
|
18
|
-
lib/rubyfocus/includes/conditional_exec.rb
|
19
|
-
lib/rubyfocus/includes/idref.rb
|
20
|
-
lib/rubyfocus/includes/parser.rb
|
21
|
-
lib/rubyfocus/includes/searchable.rb
|
22
|
-
lib/rubyfocus/items/context.rb
|
23
|
-
lib/rubyfocus/items/folder.rb
|
24
|
-
lib/rubyfocus/items/item.rb
|
25
|
-
lib/rubyfocus/items/named_item.rb
|
26
|
-
lib/rubyfocus/items/project.rb
|
27
|
-
lib/rubyfocus/items/ranked_item.rb
|
28
|
-
lib/rubyfocus/items/setting.rb
|
29
|
-
lib/rubyfocus/items/task.rb
|
30
|
-
lib/rubyfocus/location.rb
|
31
|
-
lib/rubyfocus/patch.rb
|
32
|
-
lib/rubyfocus/review_period.rb
|
33
|
-
lib/rubyfocus/xml_translator.rb
|
34
|
-
Manifest
|
35
|
-
README.md
|
36
|
-
rubyfocus.gemspec
|
37
|
-
version.txt
|