doing 2.0.9.pre → 2.0.10
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
- data/.yardoc/checksums +20 -0
- data/.yardoc/complete +0 -0
- data/.yardoc/object_types +0 -0
- data/.yardoc/objects/root.dat +0 -0
- data/.yardoc/proxy_types +0 -0
- data/.yardopts +1 -0
- data/CHANGELOG.md +1 -1
- data/Gemfile.lock +30 -10
- data/README.md +1 -1
- data/Rakefile +8 -1
- data/bin/doing +76 -30
- data/doc/Array.html +135 -0
- data/doc/Doing/Color.html +506 -0
- data/doc/Doing/Configuration.html +680 -0
- data/doc/Doing/Errors/DoingNoTraceError.html +186 -0
- data/doc/Doing/Errors/DoingRuntimeError.html +186 -0
- data/doc/Doing/Errors/DoingStandardError.html +186 -0
- data/doc/Doing/Errors/EmptyInput.html +186 -0
- data/doc/Doing/Errors/NoResults.html +186 -0
- data/doc/Doing/Errors/PluginException.html +248 -0
- data/doc/Doing/Errors/UserCancelled.html +186 -0
- data/doc/Doing/Errors/WrongCommand.html +186 -0
- data/doc/Doing/Errors.html +191 -0
- data/doc/Doing/Hooks.html +364 -0
- data/doc/Doing/Item.html +1385 -0
- data/doc/Doing/Items.html +393 -0
- data/doc/Doing/LogAdapter.html +1650 -0
- data/doc/Doing/Note.html +535 -0
- data/doc/Doing/Pager.html +268 -0
- data/doc/Doing/Plugins.html +849 -0
- data/doc/Doing/Util.html +870 -0
- data/doc/Doing/WWID.html +4827 -0
- data/doc/Doing.html +145 -0
- data/doc/GLI/Commands/MarkdownDocumentListener.html +763 -0
- data/doc/GLI/Commands.html +115 -0
- data/doc/GLI.html +115 -0
- data/doc/Hash.html +332 -0
- data/doc/Status.html +292 -0
- data/doc/String.html +1714 -0
- data/doc/Symbol.html +250 -0
- data/doc/Time.html +182 -0
- data/doc/_index.html +411 -0
- data/doc/class_list.html +51 -0
- data/doc/css/common.css +1 -0
- data/doc/css/full_list.css +58 -0
- data/doc/css/style.css +497 -0
- data/doc/file.README.html +123 -0
- data/doc/file_list.html +56 -0
- data/doc/frames.html +17 -0
- data/doc/index.html +123 -0
- data/doc/js/app.js +314 -0
- data/doc/js/full_list.js +216 -0
- data/doc/js/jquery.js +4 -0
- data/doc/method_list.html +1867 -0
- data/doc/top-level-namespace.html +112 -0
- data/doing.gemspec +5 -1
- data/doing.rdoc +86 -16
- data/example_plugin.rb +6 -6
- data/lib/doing/array.rb +1 -1
- data/lib/doing/configuration.rb +14 -12
- data/lib/doing/hash.rb +1 -1
- data/lib/doing/item.rb +101 -17
- data/lib/doing/log_adapter.rb +123 -113
- data/lib/doing/note.rb +1 -1
- data/lib/doing/plugin_manager.rb +5 -5
- data/lib/doing/plugins/export/csv_export.rb +1 -1
- data/lib/doing/plugins/export/template_export.rb +5 -7
- data/lib/doing/plugins/import/calendar_import.rb +1 -1
- data/lib/doing/plugins/import/doing_import.rb +4 -4
- data/lib/doing/plugins/import/timing_import.rb +5 -3
- data/lib/doing/string.rb +75 -22
- data/lib/doing/symbol.rb +9 -5
- data/lib/doing/time.rb +1 -1
- data/lib/doing/util.rb +18 -11
- data/lib/doing/version.rb +1 -1
- data/lib/doing/wwid.rb +419 -326
- data/lib/doing/wwidfile.rb +5 -5
- data/lib/doing.rb +2 -1
- data/lib/examples/plugins/say_export.rb +6 -6
- data/rdocfixer.rb +1 -1
- data/yard_templates/default/method_details/setup.rb +3 -0
- metadata +117 -4
@@ -0,0 +1,112 @@
|
|
1
|
+
<!DOCTYPE html>
|
2
|
+
<html>
|
3
|
+
<head>
|
4
|
+
<meta charset="utf-8">
|
5
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
6
|
+
<title>
|
7
|
+
Top Level Namespace
|
8
|
+
|
9
|
+
— Documentation by YARD 0.9.26
|
10
|
+
|
11
|
+
</title>
|
12
|
+
|
13
|
+
<link rel="stylesheet" href="css/style.css" type="text/css" />
|
14
|
+
|
15
|
+
<link rel="stylesheet" href="css/common.css" type="text/css" />
|
16
|
+
|
17
|
+
<script type="text/javascript">
|
18
|
+
pathId = "";
|
19
|
+
relpath = '';
|
20
|
+
</script>
|
21
|
+
|
22
|
+
|
23
|
+
<script type="text/javascript" charset="utf-8" src="js/jquery.js"></script>
|
24
|
+
|
25
|
+
<script type="text/javascript" charset="utf-8" src="js/app.js"></script>
|
26
|
+
|
27
|
+
|
28
|
+
</head>
|
29
|
+
<body>
|
30
|
+
<div class="nav_wrap">
|
31
|
+
<iframe id="nav" src="class_list.html?1"></iframe>
|
32
|
+
<div id="resizer"></div>
|
33
|
+
</div>
|
34
|
+
|
35
|
+
<div id="main" tabindex="-1">
|
36
|
+
<div id="header">
|
37
|
+
<div id="menu">
|
38
|
+
|
39
|
+
<a href="_index.html">Index</a> »
|
40
|
+
|
41
|
+
|
42
|
+
<span class="title">Top Level Namespace</span>
|
43
|
+
|
44
|
+
</div>
|
45
|
+
|
46
|
+
<div id="search">
|
47
|
+
|
48
|
+
<a class="full_list_link" id="class_list_link"
|
49
|
+
href="class_list.html">
|
50
|
+
|
51
|
+
<svg width="24" height="24">
|
52
|
+
<rect x="0" y="4" width="24" height="4" rx="1" ry="1"></rect>
|
53
|
+
<rect x="0" y="12" width="24" height="4" rx="1" ry="1"></rect>
|
54
|
+
<rect x="0" y="20" width="24" height="4" rx="1" ry="1"></rect>
|
55
|
+
</svg>
|
56
|
+
</a>
|
57
|
+
|
58
|
+
</div>
|
59
|
+
<div class="clear"></div>
|
60
|
+
</div>
|
61
|
+
|
62
|
+
<div id="content"><h1>Top Level Namespace
|
63
|
+
|
64
|
+
|
65
|
+
|
66
|
+
</h1>
|
67
|
+
<div class="box_info">
|
68
|
+
|
69
|
+
|
70
|
+
|
71
|
+
|
72
|
+
|
73
|
+
|
74
|
+
|
75
|
+
|
76
|
+
|
77
|
+
|
78
|
+
|
79
|
+
</div>
|
80
|
+
|
81
|
+
<h2>Defined Under Namespace</h2>
|
82
|
+
<p class="children">
|
83
|
+
|
84
|
+
|
85
|
+
<strong class="modules">Modules:</strong> <span class='object_link'><a href="Doing.html" title="Doing (module)">Doing</a></span>, <span class='object_link'><a href="GLI.html" title="GLI (module)">GLI</a></span>, <span class='object_link'><a href="Status.html" title="Status (module)">Status</a></span>
|
86
|
+
|
87
|
+
|
88
|
+
|
89
|
+
<strong class="classes">Classes:</strong> <span class='object_link'><a href="Array.html" title="Array (class)">Array</a></span>, <span class='object_link'><a href="Hash.html" title="Hash (class)">Hash</a></span>, <span class='object_link'><a href="String.html" title="String (class)">String</a></span>, <span class='object_link'><a href="Symbol.html" title="Symbol (class)">Symbol</a></span>, <span class='object_link'><a href="Time.html" title="Time (class)">Time</a></span>
|
90
|
+
|
91
|
+
|
92
|
+
</p>
|
93
|
+
|
94
|
+
|
95
|
+
|
96
|
+
|
97
|
+
|
98
|
+
|
99
|
+
|
100
|
+
|
101
|
+
|
102
|
+
</div>
|
103
|
+
|
104
|
+
<div id="footer">
|
105
|
+
Generated on Thu Nov 18 16:39:11 2021 by
|
106
|
+
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
107
|
+
0.9.26 (ruby-3.0.1).
|
108
|
+
</div>
|
109
|
+
|
110
|
+
</div>
|
111
|
+
</body>
|
112
|
+
</html>
|
data/doing.gemspec
CHANGED
@@ -27,8 +27,12 @@ spec = Gem::Specification.new do |s|
|
|
27
27
|
s.add_development_dependency 'rdoc', '~> 6.3.1'
|
28
28
|
s.add_development_dependency 'aruba', '~> 1.0.2'
|
29
29
|
s.add_development_dependency 'test-unit', '~> 3.4.4'
|
30
|
+
s.add_development_dependency 'yard'
|
31
|
+
s.add_development_dependency 'redcarpet'
|
32
|
+
s.add_development_dependency 'github-markup'
|
30
33
|
s.add_runtime_dependency('gli', '~> 2.19', '>= 2.19.2')
|
31
34
|
s.add_runtime_dependency('haml','~>5.0.0', '>= 5.0.0')
|
32
35
|
s.add_runtime_dependency('chronic','~> 0.10', '>= 0.10.2')
|
33
|
-
s.add_runtime_dependency
|
36
|
+
s.add_runtime_dependency('deep_merge', '~> 1.2', '>= 1.2.1')
|
37
|
+
s.add_runtime_dependency('amatch', '~> 0.4', '>= 0.4.0')
|
34
38
|
end
|
data/doing.rdoc
CHANGED
@@ -5,7 +5,7 @@ record of what you've been doing, complete with tag-based time tracking. The
|
|
5
5
|
command line tool allows you to add entries, annotate with tags and notes, and
|
6
6
|
view your entries with myriad options, with a focus on a "natural" language syntax.
|
7
7
|
|
8
|
-
v2.0.
|
8
|
+
v2.0.10
|
9
9
|
|
10
10
|
=== Global Options
|
11
11
|
=== --config_file arg
|
@@ -92,7 +92,7 @@ Boolean used to combine multiple tags
|
|
92
92
|
|
93
93
|
===== --case TYPE
|
94
94
|
|
95
|
-
Case sensitivity for search string matching [(c)ase-sensitive, (i)
|
95
|
+
Case sensitivity for search string matching [(c)ase-sensitive, (i)gnore, (s)mart]
|
96
96
|
|
97
97
|
[Default Value] smart
|
98
98
|
[Must Match] (?-mix:^[csi])
|
@@ -139,6 +139,11 @@ Edit duplicated entry with vim before adding
|
|
139
139
|
|
140
140
|
|
141
141
|
|
142
|
+
===== --fuzzy
|
143
|
+
Use alternative fuzzy matching for search string
|
144
|
+
|
145
|
+
|
146
|
+
|
142
147
|
===== -i|--interactive
|
143
148
|
Select item to resume from a menu of matching entries
|
144
149
|
|
@@ -180,7 +185,7 @@ Tag boolean (AND|OR|NOT)
|
|
180
185
|
|
181
186
|
===== --case TYPE
|
182
187
|
|
183
|
-
Case sensitivity for search string matching [(c)ase-sensitive, (i)
|
188
|
+
Case sensitivity for search string matching [(c)ase-sensitive, (i)gnore, (s)mart]
|
184
189
|
|
185
190
|
[Default Value] smart
|
186
191
|
[Must Match] (?-mix:^[csi])
|
@@ -215,6 +220,11 @@ Tag filter, combine multiple tags with a comma. Added for compatibility with oth
|
|
215
220
|
[Default Value] None
|
216
221
|
|
217
222
|
|
223
|
+
===== --fuzzy
|
224
|
+
Use alternative fuzzy matching for search string
|
225
|
+
|
226
|
+
|
227
|
+
|
218
228
|
===== --[no-]label
|
219
229
|
Label moved items with @from(SECTION_NAME)
|
220
230
|
|
@@ -305,7 +315,7 @@ Boolean (AND|OR|NOT) with which to combine multiple tag filters
|
|
305
315
|
|
306
316
|
===== --case TYPE
|
307
317
|
|
308
|
-
Case sensitivity for search string matching [(c)ase-sensitive, (i)
|
318
|
+
Case sensitivity for search string matching [(c)ase-sensitive, (i)gnore, (s)mart]
|
309
319
|
|
310
320
|
[Default Value] smart
|
311
321
|
[Must Match] (?-mix:^[csi])
|
@@ -337,6 +347,11 @@ Archive entries
|
|
337
347
|
|
338
348
|
|
339
349
|
|
350
|
+
===== --fuzzy
|
351
|
+
Use alternative fuzzy matching for search string
|
352
|
+
|
353
|
+
|
354
|
+
|
340
355
|
===== -i|--interactive
|
341
356
|
Select item(s) to cancel from a menu of matching entries
|
342
357
|
|
@@ -539,7 +554,7 @@ Boolean (AND|OR|NOT) with which to combine multiple tag filters
|
|
539
554
|
|
540
555
|
===== --case TYPE
|
541
556
|
|
542
|
-
Case sensitivity for search string matching [(c)ase-sensitive, (i)
|
557
|
+
Case sensitivity for search string matching [(c)ase-sensitive, (i)gnore, (s)mart]
|
543
558
|
|
544
559
|
[Default Value] smart
|
545
560
|
[Must Match] (?-mix:^[csi])
|
@@ -591,6 +606,11 @@ Include date
|
|
591
606
|
|
592
607
|
|
593
608
|
|
609
|
+
===== --fuzzy
|
610
|
+
Use alternative fuzzy matching for search string
|
611
|
+
|
612
|
+
|
613
|
+
|
594
614
|
===== -i|--interactive
|
595
615
|
Select item(s) to finish from a menu of matching entries
|
596
616
|
|
@@ -639,7 +659,7 @@ Constrain search to entries older than date
|
|
639
659
|
|
640
660
|
===== --case TYPE
|
641
661
|
|
642
|
-
Case sensitivity for search string matching [(c)ase-sensitive, (i)
|
662
|
+
Case sensitivity for search string matching [(c)ase-sensitive, (i)gnore, (s)mart]
|
643
663
|
|
644
664
|
[Default Value] smart
|
645
665
|
[Must Match] (?-mix:^[csi])
|
@@ -667,6 +687,11 @@ Sort tags by (name|time)
|
|
667
687
|
[Must Match] (?i-mx:^(?:name|time)$)
|
668
688
|
|
669
689
|
|
690
|
+
===== --fuzzy
|
691
|
+
Use alternative fuzzy matching for search string
|
692
|
+
|
693
|
+
|
694
|
+
|
670
695
|
===== -i|--interactive
|
671
696
|
Display an interactive menu of results to perform further operations
|
672
697
|
|
@@ -728,7 +753,7 @@ Import entries older than date
|
|
728
753
|
|
729
754
|
===== --case TYPE
|
730
755
|
|
731
|
-
Case sensitivity for search string matching [(c)ase-sensitive, (i)
|
756
|
+
Case sensitivity for search string matching [(c)ase-sensitive, (i)gnore, (s)mart]
|
732
757
|
|
733
758
|
[Default Value] smart
|
734
759
|
[Must Match] (?-mix:^[csi])
|
@@ -783,6 +808,11 @@ Autotag entries
|
|
783
808
|
|
784
809
|
|
785
810
|
|
811
|
+
===== --fuzzy
|
812
|
+
Use alternative fuzzy matching for search string
|
813
|
+
|
814
|
+
|
815
|
+
|
786
816
|
===== --not
|
787
817
|
Import items that *don't* match search/tag/date filters
|
788
818
|
|
@@ -818,7 +848,7 @@ Tag boolean
|
|
818
848
|
|
819
849
|
===== --case TYPE
|
820
850
|
|
821
|
-
Case sensitivity for search string matching [(c)ase-sensitive, (i)
|
851
|
+
Case sensitivity for search string matching [(c)ase-sensitive, (i)gnore, (s)mart]
|
822
852
|
|
823
853
|
[Default Value] smart
|
824
854
|
[Must Match] (?-mix:^[csi])
|
@@ -850,6 +880,11 @@ Edit entry with vim
|
|
850
880
|
|
851
881
|
|
852
882
|
|
883
|
+
===== --fuzzy
|
884
|
+
Use alternative fuzzy matching for search string
|
885
|
+
|
886
|
+
|
887
|
+
|
853
888
|
===== --not
|
854
889
|
Show items that *don't* match search string or tag filter
|
855
890
|
|
@@ -907,7 +942,7 @@ How many recent entries to tag (0 for all)
|
|
907
942
|
|
908
943
|
===== --case TYPE
|
909
944
|
|
910
|
-
Case sensitivity for search string matching [(c)ase-sensitive, (i)
|
945
|
+
Case sensitivity for search string matching [(c)ase-sensitive, (i)gnore, (s)mart]
|
911
946
|
|
912
947
|
[Default Value] smart
|
913
948
|
[Must Match] (?-mix:^[csi])
|
@@ -945,6 +980,11 @@ Don't ask permission to flag all entries when count is 0
|
|
945
980
|
|
946
981
|
|
947
982
|
|
983
|
+
===== --fuzzy
|
984
|
+
Use alternative fuzzy matching for search string
|
985
|
+
|
986
|
+
|
987
|
+
|
948
988
|
===== -i|--interactive
|
949
989
|
Select item(s) to flag from a menu of matching entries
|
950
990
|
|
@@ -1025,7 +1065,7 @@ Boolean (AND|OR|NOT) with which to combine multiple tag filters
|
|
1025
1065
|
|
1026
1066
|
===== --case TYPE
|
1027
1067
|
|
1028
|
-
Case sensitivity for search string matching [(c)ase-sensitive, (i)
|
1068
|
+
Case sensitivity for search string matching [(c)ase-sensitive, (i)gnore, (s)mart]
|
1029
1069
|
|
1030
1070
|
[Default Value] smart
|
1031
1071
|
[Must Match] (?-mix:^[csi])
|
@@ -1057,6 +1097,11 @@ Edit entry with vim
|
|
1057
1097
|
|
1058
1098
|
|
1059
1099
|
|
1100
|
+
===== --fuzzy
|
1101
|
+
Use alternative fuzzy matching for search string
|
1102
|
+
|
1103
|
+
|
1104
|
+
|
1060
1105
|
===== -i|--interactive
|
1061
1106
|
Select item for new note from a menu of matching entries
|
1062
1107
|
|
@@ -1247,7 +1292,7 @@ Boolean (AND|OR|NOT) with which to combine multiple tag filters
|
|
1247
1292
|
|
1248
1293
|
===== --case TYPE
|
1249
1294
|
|
1250
|
-
Case sensitivity for search string matching [(c)ase-sensitive, (i)
|
1295
|
+
Case sensitivity for search string matching [(c)ase-sensitive, (i)gnore, (s)mart]
|
1251
1296
|
|
1252
1297
|
[Default Value] smart
|
1253
1298
|
[Must Match] (?-mix:^[csi])
|
@@ -1274,6 +1319,11 @@ Reset last entry matching tag
|
|
1274
1319
|
[Default Value] None
|
1275
1320
|
|
1276
1321
|
|
1322
|
+
===== --fuzzy
|
1323
|
+
Use alternative fuzzy matching for search string
|
1324
|
+
|
1325
|
+
|
1326
|
+
|
1277
1327
|
===== -i|--interactive
|
1278
1328
|
Select from a menu of matching entries
|
1279
1329
|
|
@@ -1317,7 +1367,7 @@ Tag boolean (AND|OR|NOT)
|
|
1317
1367
|
|
1318
1368
|
===== --case TYPE
|
1319
1369
|
|
1320
|
-
Case sensitivity for search string matching [(c)ase-sensitive, (i)
|
1370
|
+
Case sensitivity for search string matching [(c)ase-sensitive, (i)gnore, (s)mart]
|
1321
1371
|
|
1322
1372
|
[Default Value] smart
|
1323
1373
|
[Must Match] (?-mix:^[csi])
|
@@ -1352,6 +1402,11 @@ Tag filter, combine multiple tags with a comma. Added for compatibility with oth
|
|
1352
1402
|
[Default Value] None
|
1353
1403
|
|
1354
1404
|
|
1405
|
+
===== --fuzzy
|
1406
|
+
Use alternative fuzzy matching for search string
|
1407
|
+
|
1408
|
+
|
1409
|
+
|
1355
1410
|
===== --not
|
1356
1411
|
Rotate items that *don't* match search string or tag filter
|
1357
1412
|
|
@@ -1383,7 +1438,7 @@ selected entries.
|
|
1383
1438
|
===== Options
|
1384
1439
|
===== --case TYPE
|
1385
1440
|
|
1386
|
-
Case sensitivity for search string matching [(c)ase-sensitive, (i)
|
1441
|
+
Case sensitivity for search string matching [(c)ase-sensitive, (i)gnore, (s)mart]
|
1387
1442
|
|
1388
1443
|
[Default Value] smart
|
1389
1444
|
[Must Match] (?-mix:^[csi])
|
@@ -1535,7 +1590,7 @@ Max count to show
|
|
1535
1590
|
|
1536
1591
|
===== --case TYPE
|
1537
1592
|
|
1538
|
-
Case sensitivity for search string matching [(c)ase-sensitive, (i)
|
1593
|
+
Case sensitivity for search string matching [(c)ase-sensitive, (i)gnore, (s)mart]
|
1539
1594
|
|
1540
1595
|
[Default Value] smart
|
1541
1596
|
[Must Match] (?-mix:^[csi])
|
@@ -1595,6 +1650,11 @@ Sort tags by (name|time)
|
|
1595
1650
|
[Must Match] (?i-mx:^(?:name|time))
|
1596
1651
|
|
1597
1652
|
|
1653
|
+
===== --fuzzy
|
1654
|
+
Use alternative fuzzy matching for search string
|
1655
|
+
|
1656
|
+
|
1657
|
+
|
1598
1658
|
===== -i|--interactive
|
1599
1659
|
Select from a menu of matching entries to perform additional operations
|
1600
1660
|
|
@@ -1698,7 +1758,7 @@ How many recent entries to tag (0 for all)
|
|
1698
1758
|
|
1699
1759
|
===== --case TYPE
|
1700
1760
|
|
1701
|
-
Case sensitivity for search string matching [(c)ase-sensitive, (i)
|
1761
|
+
Case sensitivity for search string matching [(c)ase-sensitive, (i)gnore, (s)mart]
|
1702
1762
|
|
1703
1763
|
[Default Value] smart
|
1704
1764
|
[Must Match] (?-mix:^[csi])
|
@@ -1748,6 +1808,11 @@ Don't ask permission to tag all entries when count is 0
|
|
1748
1808
|
|
1749
1809
|
|
1750
1810
|
|
1811
|
+
===== --fuzzy
|
1812
|
+
Use alternative fuzzy matching for search string
|
1813
|
+
|
1814
|
+
|
1815
|
+
|
1751
1816
|
===== -i|--interactive
|
1752
1817
|
Select item(s) to tag from a menu of matching entries
|
1753
1818
|
|
@@ -1898,7 +1963,7 @@ Count to display
|
|
1898
1963
|
|
1899
1964
|
===== --case TYPE
|
1900
1965
|
|
1901
|
-
Case sensitivity for search string matching [(c)ase-sensitive, (i)
|
1966
|
+
Case sensitivity for search string matching [(c)ase-sensitive, (i)gnore, (s)mart]
|
1902
1967
|
|
1903
1968
|
[Default Value] smart
|
1904
1969
|
[Must Match] (?-mix:^[csi])
|
@@ -1953,6 +2018,11 @@ Include colors in output
|
|
1953
2018
|
|
1954
2019
|
|
1955
2020
|
|
2021
|
+
===== --fuzzy
|
2022
|
+
Use alternative fuzzy matching for search string
|
2023
|
+
|
2024
|
+
|
2025
|
+
|
1956
2026
|
===== -i|--interactive
|
1957
2027
|
Select from a menu of matching entries to perform additional operations
|
1958
2028
|
|
data/example_plugin.rb
CHANGED
@@ -26,7 +26,7 @@
|
|
26
26
|
|
27
27
|
module Doing
|
28
28
|
##
|
29
|
-
##
|
29
|
+
## Plugin class
|
30
30
|
##
|
31
31
|
class SayExport
|
32
32
|
include Doing::Util
|
@@ -65,7 +65,7 @@ module Doing
|
|
65
65
|
##
|
66
66
|
## wwid.config['plugins'][PLUGIN_NAME][KEY]
|
67
67
|
##
|
68
|
-
##
|
68
|
+
## Method to return plugin settings (required)
|
69
69
|
##
|
70
70
|
## @return Hash of settings for this plugin
|
71
71
|
##
|
@@ -87,7 +87,7 @@ module Doing
|
|
87
87
|
## included in settings. The method should return a
|
88
88
|
## string (not output it to the STDOUT).
|
89
89
|
##
|
90
|
-
##
|
90
|
+
## Method to return template (optional)
|
91
91
|
##
|
92
92
|
## @param trigger The trigger passed to the
|
93
93
|
## template function. When this
|
@@ -96,7 +96,7 @@ module Doing
|
|
96
96
|
## used to determine which one is
|
97
97
|
## output.
|
98
98
|
##
|
99
|
-
## @return
|
99
|
+
## @return [String] template contents
|
100
100
|
##
|
101
101
|
def self.template(trigger)
|
102
102
|
return unless trigger =~ /^say(it)?$/
|
@@ -106,7 +106,7 @@ module Doing
|
|
106
106
|
|
107
107
|
|
108
108
|
##
|
109
|
-
##
|
109
|
+
## Render data received from an output
|
110
110
|
## command
|
111
111
|
##
|
112
112
|
## @param wwid The wwid object with config
|
@@ -118,7 +118,7 @@ module Doing
|
|
118
118
|
## flags passed to command
|
119
119
|
## (variables[:options])
|
120
120
|
##
|
121
|
-
## @return
|
121
|
+
## @return [String] Rendered output
|
122
122
|
##
|
123
123
|
def self.render(wwid, items, variables: {})
|
124
124
|
return if items.nil? || items.empty?
|
data/lib/doing/array.rb
CHANGED
data/lib/doing/configuration.rb
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
module Doing
|
4
4
|
##
|
5
|
-
##
|
5
|
+
## Configuration object
|
6
6
|
##
|
7
7
|
class Configuration
|
8
8
|
attr_reader :settings
|
@@ -106,14 +106,15 @@ module Doing
|
|
106
106
|
|
107
107
|
def value_for_key(keypath = '')
|
108
108
|
cfg = @settings
|
109
|
+
real_path = []
|
109
110
|
unless keypath =~ /^[.*]?$/
|
110
111
|
paths = keypath.split(/[:.]/)
|
111
112
|
while paths.length.positive? && !cfg.nil?
|
112
113
|
path = paths.shift
|
113
114
|
new_cfg = nil
|
114
115
|
cfg.each do |key, val|
|
115
|
-
next unless key =~
|
116
|
-
|
116
|
+
next unless key =~ path.to_rx(distance: 2)
|
117
|
+
real_path << key
|
117
118
|
new_cfg = val
|
118
119
|
break
|
119
120
|
end
|
@@ -122,12 +123,13 @@ module Doing
|
|
122
123
|
Doing.logger.error("Key match not found: #{path}")
|
123
124
|
break
|
124
125
|
end
|
125
|
-
|
126
126
|
cfg = new_cfg
|
127
127
|
end
|
128
128
|
end
|
129
|
-
|
130
|
-
|
129
|
+
Doing.logger.debug('Config:', "translated key path #{keypath} to #{real_path.join('.')}")
|
130
|
+
result = {}
|
131
|
+
result[real_path[-1]] = cfg
|
132
|
+
result
|
131
133
|
end
|
132
134
|
|
133
135
|
# It takes the input, fills in the defaults where values do not exist.
|
@@ -148,9 +150,9 @@ module Doing
|
|
148
150
|
end
|
149
151
|
|
150
152
|
##
|
151
|
-
##
|
153
|
+
## Read user configuration and merge with defaults
|
152
154
|
##
|
153
|
-
## @param opt
|
155
|
+
## @param opt [Hash] Additional Options
|
154
156
|
##
|
155
157
|
def configure(opt = {})
|
156
158
|
@ignore_local = opt[:ignore_local] if opt[:ignore_local]
|
@@ -219,7 +221,7 @@ module Doing
|
|
219
221
|
end
|
220
222
|
|
221
223
|
##
|
222
|
-
##
|
224
|
+
## Read local configurations
|
223
225
|
##
|
224
226
|
## @return Hash of config options
|
225
227
|
##
|
@@ -251,7 +253,7 @@ module Doing
|
|
251
253
|
end
|
252
254
|
|
253
255
|
##
|
254
|
-
##
|
256
|
+
## Reads a configuration.
|
255
257
|
##
|
256
258
|
def read_config
|
257
259
|
unless File.exist?(config_file)
|
@@ -279,9 +281,9 @@ module Doing
|
|
279
281
|
end
|
280
282
|
|
281
283
|
##
|
282
|
-
##
|
284
|
+
## Finds a project-specific configuration file
|
283
285
|
##
|
284
|
-
## @return
|
286
|
+
## @return [String] A file path
|
285
287
|
##
|
286
288
|
def find_local_config
|
287
289
|
dir = Dir.pwd
|