doing 2.1.40 → 2.1.41

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.
Files changed (192) hide show
  1. checksums.yaml +4 -4
  2. data/.yardopts +1 -1
  3. data/CHANGELOG.md +22 -0
  4. data/Gemfile.lock +1 -1
  5. data/Rakefile +4 -4
  6. data/bin/commands/changes.rb +1 -1
  7. data/bin/commands/tag_dir.rb +49 -15
  8. data/{Dockerfile → docker/Dockerfile} +3 -1
  9. data/{Dockerfile-2.6 → docker/Dockerfile-2.6} +2 -2
  10. data/{Dockerfile-2.7 → docker/Dockerfile-2.7} +2 -2
  11. data/{Dockerfile-3.0 → docker/Dockerfile-3.0} +2 -2
  12. data/{bash_profile → docker/bash_profile} +0 -0
  13. data/{inputrc → docker/inputrc} +0 -0
  14. data/docs/doc/Array.html +84 -2
  15. data/docs/doc/BooleanTermParser/Clause.html +1 -1
  16. data/docs/doc/BooleanTermParser/Operator.html +1 -1
  17. data/docs/doc/BooleanTermParser/Query.html +1 -1
  18. data/docs/doc/BooleanTermParser/QueryParser.html +1 -1
  19. data/docs/doc/BooleanTermParser/QueryTransformer.html +1 -1
  20. data/docs/doc/BooleanTermParser.html +1 -1
  21. data/docs/doc/Doing/ArrayNestedHash.html +198 -0
  22. data/docs/doc/Doing/ArrayTags.html +424 -0
  23. data/docs/doc/Doing/CSVExport.html +266 -0
  24. data/docs/doc/Doing/CalendarImport.html +232 -0
  25. data/docs/doc/Doing/Change.html +617 -0
  26. data/docs/doc/Doing/Changes.html +468 -0
  27. data/docs/doc/Doing/ChronifyArray.html +347 -0
  28. data/docs/doc/Doing/ChronifyNumeric.html +271 -0
  29. data/docs/doc/Doing/ChronifyString.html +682 -0
  30. data/docs/doc/Doing/Color.html +2 -2
  31. data/docs/doc/Doing/Completion/BashCompletions.html +445 -0
  32. data/docs/doc/Doing/Completion/FishCompletions.html +445 -0
  33. data/docs/doc/Doing/Completion/StringUtils.html +229 -0
  34. data/docs/doc/Doing/Completion/ZshCompletions.html +445 -0
  35. data/docs/doc/Doing/Completion.html +17 -3
  36. data/docs/doc/Doing/Configuration.html +1 -1
  37. data/docs/doc/Doing/DayOneRenderer.html +383 -0
  38. data/docs/doc/Doing/DayoneExport.html +290 -0
  39. data/docs/doc/Doing/DoingImport.html +391 -0
  40. data/docs/doc/Doing/Entry.html +381 -0
  41. data/docs/doc/Doing/Errors/DoingNoTraceError.html +1 -1
  42. data/docs/doc/Doing/Errors/DoingRuntimeError.html +1 -1
  43. data/docs/doc/Doing/Errors/DoingStandardError.html +1 -1
  44. data/docs/doc/Doing/Errors/EmptyInput.html +1 -1
  45. data/docs/doc/Doing/Errors/HistoryLimitError.html +1 -1
  46. data/docs/doc/Doing/Errors/InvalidPlugin.html +1 -1
  47. data/docs/doc/Doing/Errors/MissingBackupFile.html +1 -1
  48. data/docs/doc/Doing/Errors/NoResults.html +1 -1
  49. data/docs/doc/Doing/Errors/PluginException.html +1 -1
  50. data/docs/doc/Doing/Errors/UserCancelled.html +1 -1
  51. data/docs/doc/Doing/Errors/WrongCommand.html +1 -1
  52. data/docs/doc/Doing/Errors.html +1 -1
  53. data/docs/doc/Doing/HTMLExport.html +256 -0
  54. data/docs/doc/Doing/Hooks.html +1 -1
  55. data/docs/doc/Doing/Item.html +47 -3
  56. data/docs/doc/Doing/ItemDates.html +564 -0
  57. data/docs/doc/Doing/ItemQuery.html +614 -0
  58. data/docs/doc/Doing/ItemState.html +387 -0
  59. data/docs/doc/Doing/ItemTags.html +498 -0
  60. data/docs/doc/Doing/Items.html +460 -11
  61. data/docs/doc/Doing/JSONExport.html +222 -0
  62. data/docs/doc/Doing/Logger.html +1 -1
  63. data/docs/doc/Doing/MarkdownExport.html +266 -0
  64. data/docs/doc/Doing/MarkdownRenderer.html +383 -0
  65. data/docs/doc/Doing/Note.html +16 -3
  66. data/docs/doc/Doing/Pager.html +1 -1
  67. data/docs/doc/Doing/Plugins.html +1 -1
  68. data/docs/doc/Doing/Prompt.html +31 -682
  69. data/docs/doc/Doing/PromptChoose.html +484 -0
  70. data/docs/doc/Doing/PromptFZF.html +391 -0
  71. data/docs/doc/Doing/PromptInput.html +572 -0
  72. data/docs/doc/Doing/PromptSTD.html +293 -0
  73. data/docs/doc/Doing/PromptYN.html +237 -0
  74. data/docs/doc/Doing/Section.html +58 -2
  75. data/docs/doc/Doing/StringHighlight.html +533 -0
  76. data/docs/doc/Doing/StringNormalize.html +929 -0
  77. data/docs/doc/Doing/StringQuery.html +725 -0
  78. data/docs/doc/Doing/StringTags.html +884 -0
  79. data/docs/doc/Doing/StringTransform.html +565 -0
  80. data/docs/doc/Doing/StringTruncate.html +448 -0
  81. data/docs/doc/Doing/StringURL.html +409 -0
  82. data/docs/doc/Doing/SymbolNormalize.html +341 -0
  83. data/docs/doc/Doing/TaskPaperExport.html +222 -0
  84. data/docs/doc/Doing/TemplateExport.html +249 -0
  85. data/docs/doc/Doing/TemplateString.html +101 -2
  86. data/docs/doc/Doing/TimingImport.html +285 -0
  87. data/docs/doc/Doing/Types.html +1 -1
  88. data/docs/doc/Doing/Util/Backup.html +9 -7
  89. data/docs/doc/Doing/Util.html +2 -2
  90. data/docs/doc/Doing/Version.html +523 -0
  91. data/docs/doc/Doing/WWID/WWIDUtil.html +510 -0
  92. data/docs/doc/Doing/WWID.html +4377 -217
  93. data/docs/doc/Doing/WWIDDisplay.html +865 -0
  94. data/docs/doc/Doing/WWIDEditor.html +466 -0
  95. data/docs/doc/Doing/WWIDFileTools.html +359 -0
  96. data/docs/doc/Doing/WWIDFilter.html +466 -0
  97. data/docs/doc/Doing/WWIDGuess.html +299 -0
  98. data/docs/doc/Doing/WWIDInteractive.html +752 -0
  99. data/docs/doc/Doing/WWIDModify.html +1078 -0
  100. data/docs/doc/Doing/WWIDTags.html +302 -0
  101. data/docs/doc/Doing/WWIDTimers.html +359 -0
  102. data/docs/doc/Doing/WWIDUtil.html +510 -0
  103. data/docs/doc/Doing.html +9 -6
  104. data/docs/doc/FalseClass.html +1 -1
  105. data/docs/doc/GLI/Commands/Help.html +1 -1
  106. data/docs/doc/GLI/Commands/MarkdownDocumentListener.html +1 -1
  107. data/docs/doc/GLI/Commands.html +1 -1
  108. data/docs/doc/GLI.html +1 -1
  109. data/docs/doc/Hash.html +1 -1
  110. data/docs/doc/Numeric.html +23 -78
  111. data/docs/doc/Object.html +1 -1
  112. data/docs/doc/PhraseParser/Operator.html +1 -1
  113. data/docs/doc/PhraseParser/PhraseClause.html +1 -1
  114. data/docs/doc/PhraseParser/Query.html +1 -1
  115. data/docs/doc/PhraseParser/QueryParser.html +1 -1
  116. data/docs/doc/PhraseParser/QueryTransformer.html +1 -1
  117. data/docs/doc/PhraseParser/TermClause.html +1 -1
  118. data/docs/doc/PhraseParser.html +1 -1
  119. data/docs/doc/Status.html +1 -1
  120. data/docs/doc/String.html +58 -633
  121. data/docs/doc/Symbol.html +9 -224
  122. data/docs/doc/Time.html +119 -13
  123. data/docs/doc/TrueClass.html +1 -1
  124. data/docs/doc/_index.html +324 -8
  125. data/docs/doc/class_list.html +1 -1
  126. data/docs/doc/file.README.html +1 -1
  127. data/docs/doc/index.html +1 -1
  128. data/docs/doc/method_list.html +2326 -542
  129. data/docs/doc/top-level-namespace.html +2 -2
  130. data/doing.rdoc +13 -3
  131. data/lib/completion/_doing.zsh +1 -1
  132. data/lib/completion/doing.bash +2 -2
  133. data/lib/completion/doing.fish +3 -1
  134. data/lib/doing/array/array.rb +16 -12
  135. data/lib/doing/array/nested_hash.rb +1 -1
  136. data/lib/doing/array/tags.rb +6 -5
  137. data/lib/doing/changelog/changelog.rb +6 -0
  138. data/lib/doing/chronify/array.rb +1 -3
  139. data/lib/doing/chronify/chronify.rb +12 -0
  140. data/lib/doing/chronify/numeric.rb +3 -2
  141. data/lib/doing/chronify/string.rb +1 -1
  142. data/lib/doing/completion/completion_string.rb +25 -0
  143. data/lib/doing/completion.rb +1 -1
  144. data/lib/doing/good.rb +8 -0
  145. data/lib/doing/item/dates.rb +1 -1
  146. data/lib/doing/{item.rb → item/item.rb} +10 -5
  147. data/lib/doing/item/query.rb +1 -1
  148. data/lib/doing/item/state.rb +1 -1
  149. data/lib/doing/item/tags.rb +1 -1
  150. data/lib/doing/items/filter.rb +67 -0
  151. data/lib/doing/items/items.rb +57 -0
  152. data/lib/doing/items/modify.rb +36 -0
  153. data/lib/doing/items/sections.rb +83 -0
  154. data/lib/doing/items/util.rb +74 -0
  155. data/lib/doing/normalize.rb +10 -2
  156. data/lib/doing/plugins/export/markdown_export.rb +4 -2
  157. data/lib/doing/plugins/import/doing_import.rb +1 -1
  158. data/lib/doing/prompt/choose.rb +118 -0
  159. data/lib/doing/prompt/fzf.rb +84 -0
  160. data/lib/doing/prompt/input.rb +129 -0
  161. data/lib/doing/prompt/prompt.rb +41 -0
  162. data/lib/doing/prompt/std.rb +32 -0
  163. data/lib/doing/prompt/yn.rb +64 -0
  164. data/lib/doing/section.rb +4 -0
  165. data/lib/doing/string/highlight.rb +1 -1
  166. data/lib/doing/string/query.rb +1 -1
  167. data/lib/doing/string/string.rb +18 -7
  168. data/lib/doing/string/tags.rb +14 -3
  169. data/lib/doing/string/transform.rb +1 -1
  170. data/lib/doing/string/truncate.rb +1 -1
  171. data/lib/doing/string/url.rb +1 -1
  172. data/lib/doing/time.rb +19 -1
  173. data/lib/doing/util_backup.rb +2 -2
  174. data/lib/doing/version.rb +1 -1
  175. data/lib/doing/wwid/display.rb +357 -360
  176. data/lib/doing/wwid/editor.rb +173 -176
  177. data/lib/doing/wwid/filetools.rb +156 -159
  178. data/lib/doing/wwid/filter.rb +191 -183
  179. data/lib/doing/wwid/guess.rb +58 -60
  180. data/lib/doing/wwid/interactive.rb +332 -330
  181. data/lib/doing/wwid/modify.rb +509 -512
  182. data/lib/doing/wwid/tags.rb +38 -41
  183. data/lib/doing/wwid/timers.rb +293 -296
  184. data/lib/doing/{wwid.rb → wwid/wwid.rb} +32 -23
  185. data/lib/doing/wwid/wwidutil.rb +79 -82
  186. data/lib/doing.rb +5 -5
  187. data/lib/helpers/threaded_tests.rb +1 -0
  188. metadata +76 -14
  189. data/lib/doing/changelog.rb +0 -6
  190. data/lib/doing/completion/string.rb +0 -17
  191. data/lib/doing/items.rb +0 -221
  192. data/lib/doing/prompt.rb +0 -330
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 8bd8641c5280331189462c44f52c5bc4437c77610072d3c142cf7a56a6e75be6
4
- data.tar.gz: 40a53127983360a0b7720dd4b27c71d5b783d23d22790bfbcdc8b7f49556ce2d
3
+ metadata.gz: 9165fde649301eddb5bf5fc4fd9e1b52b67e1a7614102a752b0946b12e76ed07
4
+ data.tar.gz: 817142e7ea8be0f74355e5988bf6b857147e76f37b2a876feb19527c49807934
5
5
  SHA512:
6
- metadata.gz: 4d47d3a88086dd579b3b0f1f37a7e17890dd5969487bebd00f92f6194b6281987056b792ece88718c1a4da35803a9748d7cddb7e72f5c908fb0056e299ff9ef3
7
- data.tar.gz: b2ba0a2c7a3b21e09c1da73c959895fb4dff4f72244cc5c6f855a1d44668d8b5620292881bbb47a7c1896c0fb68430fe33d1e5509a657c5c1fd870c1f5211028
6
+ metadata.gz: c52235f05bedf4b2aded1700df34032a57ce5b21ccbf87ad9372a3e0ab239dfb19154d95420642a81d854d54a2da013720e8c092393937698a470e9ce9920c4f
7
+ data.tar.gz: 01f885b23f2d984fa40a37c6f256da01649c9974d6dd8bd1dc2603e9c749579c640dc2c0f8d86f98675f0624cfb9a13225a1594d2663e4ed35bb46f1b4aebf83
data/.yardopts CHANGED
@@ -1 +1 @@
1
- --output-dir docs/doc --markup-provider=redcarpet --markup=markdown --no-private --exclude=README.md lib/doing/*.rb
1
+ --output-dir docs/doc --markup-provider=redcarpet --markup=markdown --no-private --exclude=README.md lib/doing/**/*.rb
data/CHANGELOG.md CHANGED
@@ -1,3 +1,25 @@
1
+ ### 2.1.41
2
+
3
+ 2022-03-16 09:29
4
+
5
+ #### NEW
6
+
7
+ - Filter methods available to plugins on Items collection - #in_section, #search, #tagged, #between_dates
8
+
9
+ #### IMPROVED
10
+
11
+ - Better comparison methods for Items and Sections
12
+ - `doing tag_dir -r TAG` can remove an indivudal tag from default_tags (--clear removes all)
13
+ - `doing tag_dir` accepts `--editor` to edit tag list in default editor
14
+ - `doing tag_dir` without arguments requests input via readline
15
+ - Use `.txt` instead of `.md` for editor temp file to avoid incorrect syntax higlighting in editor
16
+ - Further API documentation
17
+
18
+ #### FIXED
19
+
20
+ - Security warnings related to regular expressions
21
+ - Items.diff method returning too many changes
22
+
1
23
  ### 2.1.40
2
24
 
3
25
  2022-03-14 19:56
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- doing (2.1.40)
4
+ doing (2.1.41)
5
5
  chronic (~> 0.10, >= 0.10.2)
6
6
  deep_merge (~> 1.2, >= 1.2.1)
7
7
  gli (~> 2.20, >= 2.20.1)
data/Rakefile CHANGED
@@ -71,16 +71,16 @@ task :dockertest, :version, :login do |_, args|
71
71
  Process.exit 0
72
72
  when /^3/
73
73
  img = 'doingtest3'
74
- file = 'Dockerfile-3.0'
74
+ file = 'docker/Dockerfile-3.0'
75
75
  when /6$/
76
76
  img = 'doingtest26'
77
- file = 'Dockerfile-2.6'
77
+ file = 'docker/Dockerfile-2.6'
78
78
  when /(^2|7$)/
79
79
  img = 'doingtest27'
80
- file = 'Dockerfile-2.7'
80
+ file = 'docker/Dockerfile-2.7'
81
81
  else
82
82
  img = 'doingtest'
83
- file = 'Dockerfile'
83
+ file = 'docker/Dockerfile'
84
84
  end
85
85
 
86
86
  puts `docker build . --file #{file} -t #{img}`
@@ -14,7 +14,7 @@ MARKDOWN_THEME = {
14
14
  comment: :bright_black
15
15
  }.deep_freeze
16
16
 
17
- CHANGE_RX = /^(?:(?:(?:[<>=]+|p(?:rior)|b(?:efore)|o(?:lder)|s(?:ince)|a(?:fter)|n(?:ewer))? *[0-9.*?]+ *)+|(?:[\d.]+ *(?:-|to)+ *[0-9.]+))$/
17
+ CHANGE_RX = /^(?:(?:(?:[<>=]+|p(?:rior)|b(?:efore)|o(?:lder)|s(?:ince)|a(?:fter)|n(?:ewer))? *[0-9.*?]{1,10} *)+|(?:[\d.]+ *(?:-|to)+ *[0-9.]{1,10}))$/
18
18
 
19
19
  desc 'List recent changes in Doing'
20
20
  long_desc %(Display a formatted list of changes in recent versions.
@@ -6,43 +6,77 @@ manually editing the .doingrc file.'
6
6
  arg_name 'TAG [TAG..]'
7
7
  command :tag_dir do |c|
8
8
  c.example 'doing tag_dir project1 project2', desc: 'Add @project1 and @project2 to to any entries created from the current directory'
9
- c.example 'doing tag_dir --remove', desc: 'Clear the default tags for the directory'
9
+ c.example 'doing tag_dir --clear', desc: 'Clear the default tags for the directory'
10
10
 
11
11
  c.desc 'Remove all default_tags from the local .doingrc'
12
+ c.switch %i[clear], negatable: false
13
+
14
+ c.desc 'Delete tag(s) from the current list'
12
15
  c.switch %i[r remove], negatable: false
13
16
 
17
+ c.desc 'Use default editor to edit tag list'
18
+ c.switch %i[e editor], negatable: false
19
+
14
20
  c.action do |global, options, args|
15
- tags = args.join(' ').gsub(/ *, */, ' ').split(' ')
21
+ if args.empty? && !options[:clear] && !options[:editor]
22
+ all_tags = @wwid.content.all_tags
23
+ $stderr.puts Doing::Color.boldwhite('Enter tags separated by spaces, tab to complete')
24
+ input = Doing::Prompt.read_line(prompt: "Tags to #{options[:remove] ? 'remove' : 'add'}", completions: all_tags)
25
+ tags = input.split_tags
26
+ else
27
+ tags = args.join(' ').split_tags
28
+ end
16
29
 
17
30
  cfg_cmd = commands[:config]
18
31
  set_cmd = cfg_cmd.commands[:set]
19
32
 
20
33
  set_options = { local: true }
21
- if options[:remove]
34
+
35
+ if options[:clear]
22
36
  set_args = ['default_tags']
23
37
  set_options[:remove] = true
24
38
  else
25
- current_tags = Doing.setting('default_tags')
39
+ unless options[:remove]
40
+ current_tags = Doing.setting('default_tags')
26
41
 
27
- tags.delete_if do |tag|
28
- if current_tags.include?(tag)
29
- Doing.logger.info('Skipped:', "#{tag} is already applied by existing config")
30
- true
31
- else
32
- false
42
+ tags.delete_if do |tag|
43
+ if current_tags.include?(tag)
44
+ Doing.logger.info('Skipped:', "#{tag} is already applied by existing config")
45
+ true
46
+ else
47
+ false
48
+ end
33
49
  end
34
- end
35
50
 
36
- raise EmptyInput, 'No new tags provided' if tags.empty?
51
+ raise EmptyInput, 'No new tags provided' if tags.empty? && !options[:editor]
52
+
53
+ end
37
54
 
38
55
  if File.exist?('.doingrc')
39
56
  local = Doing::Util.safe_load_file('.doingrc')
40
57
  dir_tags = local['default_tags'] || []
41
58
 
42
- tags.concat(dir_tags)
43
- tags.sort!.uniq!
59
+ if options[:remove]
60
+ tags.each { |tag| dir_tags.delete(tag) }
61
+ tags = dir_tags.sort
62
+ else
63
+ tags.concat(dir_tags)
64
+ tags.sort!.uniq!
65
+ end
66
+
67
+ if tags == dir_tags.sort && !options[:remove] && !options[:editor]
68
+ raise UserCancelled, 'Tag(s) already exist for directory'
69
+
70
+ end
71
+
72
+ end
73
+
74
+ if options[:editor]
75
+ input = @wwid.fork_editor(tags.join(' '), message: '# Enter tags separated by spaces')
76
+ input_lines = input.split(/[\n\r]+/).delete_if(&:ignore?)
77
+ edited = input_lines[0]&.strip
44
78
 
45
- raise UserCancelled, 'Tag(s) already exist for directory' if tags == dir_tags.sort
79
+ tags = edited.nil? ? [] : edited.split_tags
46
80
  end
47
81
 
48
82
  set_args = ['default_tags', tags.join(',')]
@@ -5,5 +5,7 @@ WORKDIR /doing
5
5
  # COPY ./ /doing/
6
6
  RUN gem install bundler:2.2.17
7
7
  RUN apt-get update -y
8
- RUN apt-get install -y less
8
+ RUN apt-get install -y less vim
9
+ COPY ./docker/inputrc /root/.inputrc
10
+ COPY ./docker/bash_profile /root/.bash_profile
9
11
  CMD ["scripts/runtests.sh"]
@@ -6,6 +6,6 @@ WORKDIR /doing
6
6
  RUN gem install bundler:2.2.17
7
7
  RUN apt-get update -y
8
8
  RUN apt-get install -y less vim
9
- COPY ./inputrc /root/.inputrc
10
- COPY ./bash_profile /root/.bash_profile
9
+ COPY ./docker/inputrc /root/.inputrc
10
+ COPY ./docker/bash_profile /root/.bash_profile
11
11
  CMD ["scripts/runtests.sh"]
@@ -6,6 +6,6 @@ WORKDIR /doing
6
6
  RUN gem install bundler:2.2.17
7
7
  RUN apt-get update -y
8
8
  RUN apt-get install -y less vim
9
- COPY ./inputrc /root/.inputrc
10
- COPY ./bash_profile /root/.bash_profile
9
+ COPY ./docker/inputrc /root/.inputrc
10
+ COPY ./docker/bash_profile /root/.bash_profile
11
11
  CMD ["scripts/runtests.sh"]
@@ -6,6 +6,6 @@ WORKDIR /doing
6
6
  RUN gem install bundler:2.2.17
7
7
  RUN apt-get update -y
8
8
  RUN apt-get install -y less vim
9
- COPY ./inputrc /root/.inputrc
10
- COPY ./bash_profile /root/.bash_profile
9
+ COPY ./docker/inputrc /root/.inputrc
10
+ COPY ./docker/bash_profile /root/.bash_profile
11
11
  CMD ["scripts/runtests.sh"]
File without changes
File without changes
data/docs/doc/Array.html CHANGED
@@ -87,6 +87,11 @@
87
87
 
88
88
 
89
89
 
90
+ <dl>
91
+ <dt>Includes:</dt>
92
+ <dd>ArrayNestedHash, ArrayTags, <span class='object_link'><a href="Doing/ChronifyArray.html" title="Doing::ChronifyArray (module)">Doing::ChronifyArray</a></span></dd>
93
+ </dl>
94
+
90
95
 
91
96
 
92
97
 
@@ -94,7 +99,9 @@
94
99
 
95
100
  <dl>
96
101
  <dt>Defined in:</dt>
97
- <dd>lib/doing/good.rb</dd>
102
+ <dd>lib/doing/good.rb<span class="defines">,<br />
103
+ lib/doing/array/array.rb,<br /> lib/doing/chronify/chronify.rb</span>
104
+ </dd>
98
105
  </dl>
99
106
 
100
107
  </div>
@@ -138,6 +145,29 @@
138
145
  <span class="summary_desc"><div class='inline'><p>Tests if object is nil or empty.</p>
139
146
  </div></span>
140
147
 
148
+ </li>
149
+
150
+
151
+ <li class="public ">
152
+ <span class="summary_signature">
153
+
154
+ <a href="#utf8-instance_method" title="#utf8 (instance method)">#<strong>utf8</strong> &#x21d2; Array </a>
155
+
156
+
157
+
158
+ </span>
159
+
160
+
161
+
162
+
163
+
164
+
165
+
166
+
167
+
168
+ <span class="summary_desc"><div class='inline'><p>Force UTF-8 encoding of strings in array.</p>
169
+ </div></span>
170
+
141
171
  </li>
142
172
 
143
173
 
@@ -145,6 +175,19 @@
145
175
 
146
176
 
147
177
 
178
+
179
+
180
+
181
+
182
+
183
+
184
+
185
+
186
+ <h3 class="inherited">Methods included from <span class='object_link'><a href="Doing/ChronifyArray.html" title="Doing::ChronifyArray (module)">Doing::ChronifyArray</a></span></h3>
187
+ <p class="inherited"><span class='object_link'><a href="Doing/ChronifyArray.html#time_string-instance_method" title="Doing::ChronifyArray#time_string (method)">#time_string</a></span>, <span class='object_link'><a href="Doing/ChronifyArray.html#to_abbr-instance_method" title="Doing::ChronifyArray#to_abbr (method)">#to_abbr</a></span>, <span class='object_link'><a href="Doing/ChronifyArray.html#to_natural-instance_method" title="Doing::ChronifyArray#to_natural (method)">#to_natural</a></span>, <span class='object_link'><a href="Doing/ChronifyArray.html#to_years-instance_method" title="Doing::ChronifyArray#to_years (method)">#to_years</a></span></p>
188
+
189
+
190
+
148
191
 
149
192
  <div id="instance_method_details" class="method_details_list">
150
193
  <h2>Instance Method Details</h2>
@@ -187,6 +230,45 @@ has content</p>
187
230
 
188
231
  </ul>
189
232
 
233
+ </div>
234
+ </div>
235
+
236
+ <div class="method_details ">
237
+ <h3 class="signature " id="utf8-instance_method">
238
+
239
+ #<strong>utf8</strong> &#x21d2; <tt><span class='object_link'><a href="" title="Array (class)">Array</a></span></tt>
240
+
241
+
242
+
243
+
244
+
245
+ </h3><div class="docstring">
246
+ <div class="discussion">
247
+ <p>Force UTF-8 encoding of strings in array</p>
248
+
249
+
250
+ </div>
251
+ </div>
252
+ <div class="tags">
253
+
254
+ <p class="tag_title">Returns:</p>
255
+ <ul class="return">
256
+
257
+ <li>
258
+
259
+
260
+ <span class='type'>(<tt><span class='object_link'><a href="" title="Array (class)">Array</a></span></tt>)</span>
261
+
262
+
263
+
264
+ &mdash;
265
+ <div class='inline'><p>Encoded lines</p>
266
+ </div>
267
+
268
+ </li>
269
+
270
+ </ul>
271
+
190
272
  </div>
191
273
  </div>
192
274
 
@@ -195,7 +277,7 @@ has content</p>
195
277
  </div>
196
278
 
197
279
  <div id="footer">
198
- Generated on Tue Mar 15 11:14:29 2022 by
280
+ Generated on Wed Mar 16 09:42:15 2022 by
199
281
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
200
282
  0.9.27 (ruby-3.0.1).
201
283
  </div>
@@ -283,7 +283,7 @@
283
283
  </div>
284
284
 
285
285
  <div id="footer">
286
- Generated on Tue Mar 15 11:14:30 2022 by
286
+ Generated on Wed Mar 16 09:42:15 2022 by
287
287
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
288
288
  0.9.27 (ruby-3.0.1).
289
289
  </div>
@@ -162,7 +162,7 @@
162
162
  </div>
163
163
 
164
164
  <div id="footer">
165
- Generated on Tue Mar 15 11:14:30 2022 by
165
+ Generated on Wed Mar 16 09:42:15 2022 by
166
166
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
167
167
  0.9.27 (ruby-3.0.1).
168
168
  </div>
@@ -407,7 +407,7 @@
407
407
  </div>
408
408
 
409
409
  <div id="footer">
410
- Generated on Tue Mar 15 11:14:30 2022 by
410
+ Generated on Wed Mar 16 09:42:15 2022 by
411
411
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
412
412
  0.9.27 (ruby-3.0.1).
413
413
  </div>
@@ -125,7 +125,7 @@ parser. In order to do that, a new &quot;clause&quot; node is added to the parse
125
125
  </div>
126
126
 
127
127
  <div id="footer">
128
- Generated on Tue Mar 15 11:14:30 2022 by
128
+ Generated on Wed Mar 16 09:42:15 2022 by
129
129
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
130
130
  0.9.27 (ruby-3.0.1).
131
131
  </div>
@@ -114,7 +114,7 @@
114
114
  </div>
115
115
 
116
116
  <div id="footer">
117
- Generated on Tue Mar 15 11:14:30 2022 by
117
+ Generated on Wed Mar 16 09:42:15 2022 by
118
118
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
119
119
  0.9.27 (ruby-3.0.1).
120
120
  </div>
@@ -105,7 +105,7 @@
105
105
  </div>
106
106
 
107
107
  <div id="footer">
108
- Generated on Tue Mar 15 11:14:29 2022 by
108
+ Generated on Wed Mar 16 09:42:15 2022 by
109
109
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
110
110
  0.9.27 (ruby-3.0.1).
111
111
  </div>
@@ -0,0 +1,198 @@
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
+ Module: Doing::ArrayNestedHash
8
+
9
+ &mdash; Documentation by YARD 0.9.27
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 = "Doing::ArrayNestedHash";
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)</a> &raquo;
40
+ <span class='title'><span class='object_link'><a href="../Doing.html" title="Doing (module)">Doing</a></span></span>
41
+ &raquo;
42
+ <span class="title">ArrayNestedHash</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>Module: Doing::ArrayNestedHash
63
+
64
+
65
+
66
+ </h1>
67
+ <div class="box_info">
68
+
69
+
70
+
71
+
72
+
73
+
74
+
75
+
76
+
77
+
78
+
79
+ <dl>
80
+ <dt>Defined in:</dt>
81
+ <dd>lib/doing/array/nested_hash.rb</dd>
82
+ </dl>
83
+
84
+ </div>
85
+
86
+ <h2>Overview</h2><div class="docstring">
87
+ <div class="discussion">
88
+ <p>Array helpers</p>
89
+
90
+
91
+ </div>
92
+ </div>
93
+ <div class="tags">
94
+
95
+
96
+ </div>
97
+
98
+
99
+
100
+
101
+
102
+
103
+
104
+ <h2>
105
+ Instance Method Summary
106
+ <small><a href="#" class="summary_toggle">collapse</a></small>
107
+ </h2>
108
+
109
+ <ul class="summary">
110
+
111
+ <li class="public ">
112
+ <span class="summary_signature">
113
+
114
+ <a href="#nested_hash-instance_method" title="#nested_hash (instance method)">#<strong>nested_hash</strong>(value = nil) &#x21d2; Object </a>
115
+
116
+
117
+
118
+ </span>
119
+
120
+
121
+
122
+
123
+
124
+
125
+
126
+
127
+
128
+ <span class="summary_desc"><div class='inline'><p>Convert array to nested hash, setting last key to value.</p>
129
+ </div></span>
130
+
131
+ </li>
132
+
133
+
134
+ </ul>
135
+
136
+
137
+
138
+
139
+ <div id="instance_method_details" class="method_details_list">
140
+ <h2>Instance Method Details</h2>
141
+
142
+
143
+ <div class="method_details first">
144
+ <h3 class="signature first" id="nested_hash-instance_method">
145
+
146
+ #<strong>nested_hash</strong>(value = nil) &#x21d2; <tt><span class='object_link'><a href="../Object.html" title="Object (class)">Object</a></span></tt>
147
+
148
+
149
+
150
+
151
+
152
+ </h3><div class="docstring">
153
+ <div class="discussion">
154
+ <p>Convert array to nested hash, setting last key to value</p>
155
+
156
+
157
+ </div>
158
+ </div>
159
+ <div class="tags">
160
+ <p class="tag_title">Parameters:</p>
161
+ <ul class="param">
162
+
163
+ <li>
164
+
165
+ <span class='name'>value</span>
166
+
167
+
168
+ <span class='type'></span>
169
+
170
+
171
+ <em class="default">(defaults to: <tt>nil</tt>)</em>
172
+
173
+
174
+ &mdash;
175
+ <div class='inline'><p>The value to set</p>
176
+ </div>
177
+
178
+ </li>
179
+
180
+ </ul>
181
+
182
+
183
+ </div>
184
+ </div>
185
+
186
+ </div>
187
+
188
+ </div>
189
+
190
+ <div id="footer">
191
+ Generated on Wed Mar 16 09:42:15 2022 by
192
+ <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
193
+ 0.9.27 (ruby-3.0.1).
194
+ </div>
195
+
196
+ </div>
197
+ </body>
198
+ </html>