doing 2.1.40 → 2.1.41

Sign up to get free protection for your applications and to get access to all the features.
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>