doing 1.0.57 → 1.0.58
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +1 -1
- data/lib/doing/version.rb +1 -1
- data/lib/doing/wwid.rb +41 -6
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 27d29fb84f196b9219119d876aad52a8d4569b12324ece7617b74636d4245885
|
4
|
+
data.tar.gz: 40ed7d9d336b757d777dfa7014e754f115d732835a0a62c4e6a72ce9102c4a7f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: de8702acf70b5ea8382cf848b65b5164c2230e7f19b893032d4216fc225d596290146a8f461aae4d215a5021f1a0a4129b12750b119f324032f4e206819bfd3d
|
7
|
+
data.tar.gz: a52d1d2f07988441a14f5451206bfb9add306a9cf3b7bd0908b493c5076b5c720d8d26285bc5634f6e23db9ff81e670cd56c20e514bd5163ce82cab950a659dd
|
data/README.md
CHANGED
@@ -29,7 +29,7 @@ _Side note:_ I actually use the library behind this utility as part of another s
|
|
29
29
|
|
30
30
|
## Installation
|
31
31
|
|
32
|
-
The current version of `doing` is <!--VER-->1.0.
|
32
|
+
The current version of `doing` is <!--VER-->1.0.57<!--END VER-->.
|
33
33
|
|
34
34
|
$ [sudo] gem install doing
|
35
35
|
|
data/lib/doing/version.rb
CHANGED
data/lib/doing/wwid.rb
CHANGED
@@ -707,6 +707,11 @@ class WWID
|
|
707
707
|
@results.push(%(No previous entry found))
|
708
708
|
return
|
709
709
|
end
|
710
|
+
unless last.has_tags?(['done'], 'ALL')
|
711
|
+
new_item = last.dup
|
712
|
+
new_item['title'] += " @done(#{Time.now.strftime('%F %R')})"
|
713
|
+
update_item(last, new_item)
|
714
|
+
end
|
710
715
|
# Remove @done tag
|
711
716
|
title = last['title'].sub(/\s*@done(\(.*?\))?/, '').chomp
|
712
717
|
section = opt[:in].nil? ? last['section'] : guess_section(opt[:in])
|
@@ -736,8 +741,6 @@ class WWID
|
|
736
741
|
end
|
737
742
|
items = combined['items'].dup.sort_by { |item| item['date'] }.reverse
|
738
743
|
sec_arr.push(items[0]['section'])
|
739
|
-
|
740
|
-
sec_arr = sections
|
741
744
|
else
|
742
745
|
sec_arr = [guess_section(opt[:section])]
|
743
746
|
end
|
@@ -800,12 +803,12 @@ class WWID
|
|
800
803
|
if @content.key?(section)
|
801
804
|
|
802
805
|
items = @content[section]['items'].dup.sort_by { |item| item['date'] }.reverse
|
803
|
-
|
806
|
+
idx = 0
|
804
807
|
done_date = Time.now
|
805
808
|
next_start = Time.now
|
806
809
|
count = (opt[:count]).zero? ? items.length : opt[:count]
|
807
810
|
items.map! do |item|
|
808
|
-
break if
|
811
|
+
break if idx == count
|
809
812
|
|
810
813
|
tag_match = opt[:tag].nil? || opt[:tag].empty? ? true : item.has_tags?(opt[:tag], opt[:tag_bool])
|
811
814
|
search_match = opt[:search].nil? || opt[:search].empty? ? true : item.matches_search?(opt[:search])
|
@@ -854,7 +857,7 @@ class WWID
|
|
854
857
|
item['title'] = title
|
855
858
|
end
|
856
859
|
|
857
|
-
|
860
|
+
idx += 1
|
858
861
|
end
|
859
862
|
|
860
863
|
item
|
@@ -886,6 +889,37 @@ class WWID
|
|
886
889
|
write(@doing_file)
|
887
890
|
end
|
888
891
|
|
892
|
+
def update_item(old_item, new_item)
|
893
|
+
items = []
|
894
|
+
@content.each do |_k, v|
|
895
|
+
items.concat(v['items'])
|
896
|
+
end
|
897
|
+
|
898
|
+
idx = nil
|
899
|
+
|
900
|
+
items.each_with_index do |item, i|
|
901
|
+
if old_item == item
|
902
|
+
idx = i
|
903
|
+
break
|
904
|
+
end
|
905
|
+
end
|
906
|
+
|
907
|
+
if idx.nil?
|
908
|
+
@results.push('No entries found')
|
909
|
+
return
|
910
|
+
end
|
911
|
+
|
912
|
+
section = items[idx]['section']
|
913
|
+
|
914
|
+
section_items = @content[section]['items']
|
915
|
+
s_idx = section_items.index(old_item)
|
916
|
+
|
917
|
+
section_items[s_idx] = new_item
|
918
|
+
@results.push("Entry updated: #{section_items[s_idx]['title']}")
|
919
|
+
@content[section]['items'] = section_items
|
920
|
+
write(@doing_file)
|
921
|
+
end
|
922
|
+
|
889
923
|
##
|
890
924
|
## @brief Edit the last entry
|
891
925
|
##
|
@@ -1014,7 +1048,8 @@ class WWID
|
|
1014
1048
|
# @param tag (String) Tag to replace
|
1015
1049
|
# @param opt (Hash) Additional Options
|
1016
1050
|
#
|
1017
|
-
def stop_start(
|
1051
|
+
def stop_start(target_tag, opt = {})
|
1052
|
+
tag = target_tag.dup
|
1018
1053
|
opt[:section] ||= @current_section
|
1019
1054
|
opt[:archive] ||= false
|
1020
1055
|
opt[:back] ||= Time.now
|