standup_md 0.1.3 → 0.2.0

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 1e8c05d5358963f78ad2489af50578bca92697ffc5d0d9b5356aee4c76b7f958
4
- data.tar.gz: 731a19949261049efe145395ac5bae0fb25bbf9986980eeb951c67ce036fa7a9
3
+ metadata.gz: b9e0d3fe8970730c7b8b0762560546f3a7656db61d3c11ff5ac8523db1aaf7ea
4
+ data.tar.gz: 5532bc9cb33dbc14c9b6689ce50c0ad6c0e8edfa95d5092023f9745a93936057
5
5
  SHA512:
6
- metadata.gz: 7cc7bb426f9ea6d0b99b43bc32c0af1486d8c514809a09a9b5fdadf7ba6f98f2cdab55752ec94da154e14364447d57d9b6d1116f0dd93d1598e1d68b1e573fe4
7
- data.tar.gz: c56cf3e1ee930237f30078447447285ea7245273ab77ac7ccef634536a1bfe40be6edc649c46c3516750997652e10187d430addb6e2de480257e66fe7765970e
6
+ metadata.gz: 45fc54d5e6265b73ea39b0f0fa5e9431a721a1a8dbb6dae9999996388b950d3239ed65c8542b770a1bd4267fdd05620a97c7bbbf2e1ade05060d530415da9c31
7
+ data.tar.gz: c3dd89557155580a7c619bf2c65033b35da91094e63c5ab2502a58f537083593fd1111181ac897a2e739132ac68f9ed0bd4d737392b356d4caeb9cdab4962d37
data/README.md CHANGED
@@ -16,6 +16,7 @@ View on: [Github](https://github.com/evanthegrayt/standup_md) |
16
16
  - [Usage](#usage)
17
17
  - [Example](#example)
18
18
  - [Customization and Runtime Options](#customization-and-runtime-options)
19
+ - [Using existing standup files](#using-existing-standup-files)
19
20
  - [API](#api)
20
21
  - [Documentation](https://evanthegrayt.github.io/standup_md/doc/index.html)
21
22
  - [Reporting Bugs and Requesting Features](#reporting-bugs-and-requesting-features)
@@ -198,28 +199,80 @@ editor, you could use the following:
198
199
  standup --no-edit --current-entry-tasks="Work on this thing","And another thing!"
199
200
  ```
200
201
 
202
+ ### Using Existing Standup Files
203
+ If you already have a directory of existing standup files, you can use them, but
204
+ they must be in a format that the parser can understand. The default is:
205
+
206
+ ```markdown
207
+ # 2020-05-01
208
+ ## Previous
209
+ - task
210
+ ## Current
211
+ - task
212
+ ## Impediments
213
+ - impediment
214
+ ## Notes
215
+ - notes, if any are present
216
+ ```
217
+
218
+ The order, words, date format, and header level are all customizable, but the
219
+ overall format must be the same. If customization is necessary, this must be
220
+ done in `~/.standup_md.yml` before execution, or else the parser will error.
221
+
222
+ For example, if you wanted the format to be as follows:
223
+
224
+ ```markdown
225
+ ## 05/01/2020
226
+ ### Today
227
+ - task
228
+ ### Yesterday
229
+ - task
230
+ ### Hold-ups
231
+ - impediment
232
+ ### Notes
233
+ - notes, if any are present
234
+ ```
235
+
236
+ Your `~/.standup_md.yml` should contain:
237
+
238
+ ```yaml
239
+ sub_header_depth: 3
240
+ header_depth: 2
241
+ current_header: Today
242
+ previous_header: Yesterday
243
+ impediments_header: Hold-ups
244
+ header_date_format: '%m/%d/%Y'
245
+ sub_header_order:
246
+ - current
247
+ - previous
248
+ - impediments
249
+ - notes
250
+
251
+ ```
252
+
201
253
  ## API
202
254
  Below are some quick examples, but the API is fully documented in the
203
255
  [documentation](https://evanthegrayt.github.io/standup_md/doc/index.html).
204
256
 
205
257
  This was mainly written as a command line utility, but I made the API available
206
258
  for scripting. There are attribute accessors for most of the settings in the
207
- [customization table](#customization-and-runtime-options) above. To view all
208
- available methods, read the comments in the [source](lib/standup_md.rb). A
209
- quick-and-dirty example of how to write a new entry via code could look like the
259
+ [customization table](#customization-and-runtime-options) above. A
260
+ quick example of how to write a new entry via code could look like the
210
261
  following:
211
262
 
212
263
  ```ruby
213
264
  require 'standup_md'
214
265
 
215
- standup = StandupMD.load(
216
- current_header: 'Today',
217
- current_entry_tasks: ['Thing to do today', 'Another thing to do today'],
218
- impediments: ['Not enough time in the day']
219
- )
266
+ standup = StandupMD.load do |s|
267
+ s.current_header = 'Today',
268
+ s.current_entry_tasks = ['Thing to do today', 'Another thing to do today'],
269
+ s.impediments = ['Not enough time in the day']
270
+ end
220
271
 
221
272
  standup.write
222
273
  ```
274
+ Note: `StandupMD::load() { ... }` just is a quick way to call `StandupMD::new
275
+ { ... }.load`.
223
276
 
224
277
  Entries are just hashes, so you can easily transform them to `json` objects.
225
278
 
@@ -228,7 +281,8 @@ require 'standup_md'
228
281
  require 'json'
229
282
 
230
283
  standup = StandupMD.load
231
- standup_entries_as_json = standup.all_entries.to_json
284
+
285
+ standup_json = standup.all_entries.to_json
232
286
  ```
233
287
 
234
288
  ## Reporting Bugs and Requesting Features
data/Rakefile CHANGED
@@ -1,36 +1,19 @@
1
1
  require_relative 'lib/standup_md'
2
+ require 'bundler/gem_tasks'
2
3
  require 'rdoc/task'
4
+ require 'rake/testtask'
5
+
6
+ Rake::TestTask.new do |t|
7
+ t.libs = ['lib']
8
+ t.warning = true
9
+ t.verbose = true
10
+ t.test_files = FileList['test/**/*_test.rb']
11
+ end
3
12
 
4
13
  RDoc::Task.new do |rdoc|
5
- rdoc.main = "README.md"
14
+ rdoc.main = 'README.md'
6
15
  rdoc.rdoc_dir = 'doc'
7
- rdoc.rdoc_files.include("README.md", "**/*.rb")
16
+ rdoc.rdoc_files.include('README.md', 'lib/**/*.rb')
8
17
  end
9
18
 
10
19
  task :default => :test
11
-
12
- desc "Build the gem"
13
- task :build do
14
- system('gem build standup_md.gemspec')
15
- end
16
-
17
- desc "Build and install the gem"
18
- task install: [:dependencies, :build] do
19
- system("gem install standup_md-#{StandupMD::VERSION}.gem")
20
- end
21
-
22
- desc "Add dependencies"
23
- task :dependencies do
24
- system("gem install bundler")
25
- system("bundle install")
26
- end
27
-
28
- desc "Uninstall the gem"
29
- task :uninstall do
30
- system('gem uninstall standup_md')
31
- end
32
-
33
- desc "Run test suite"
34
- task :test do
35
- Dir.glob(File.join(__dir__, 'test', '**', '*_test.rb')).each { |f| ruby f }
36
- end
data/doc/README_md.html CHANGED
@@ -71,6 +71,7 @@
71
71
  <li><a href="#label-Customization+and+Runtime+Options">Customization and Runtime Options</a>
72
72
  <li><a href="#label-Available+Config+File+Keys+and+Defaults">Available Config File Keys and Defaults</a>
73
73
  <li><a href="#label-Executable+Flags">Executable Flags</a>
74
+ <li><a href="#label-Using+Existing+Standup+Files">Using Existing Standup Files</a>
74
75
  <li><a href="#label-API">API</a>
75
76
  <li><a href="#label-Reporting+Bugs+and+Requesting+Features">Reporting Bugs and Requesting Features</a>
76
77
  <li><a href="#label-Self-Promotion">Self-Promotion</a>
@@ -120,6 +121,8 @@
120
121
  </li><li>
121
122
  <p><a href="#customization-and-runtime-options">Customization and Runtime Options</a></p>
122
123
  </li><li>
124
+ <p><a href="#using-existing-standup-files">Using existing standup files</a></p>
125
+ </li><li>
123
126
  <p><a href="#api">API</a></p>
124
127
  </li><li>
125
128
  <p><a href="https://evanthegrayt.github.io/standup_md/doc/index.html">Documentation</a></p>
@@ -249,30 +252,75 @@ sub_header_order:
249
252
 
250
253
  <pre>standup --no-edit --current-entry-tasks=&quot;Work on this thing&quot;,&quot;And another thing!&quot;</pre>
251
254
 
255
+ <h3 id="label-Using+Existing+Standup+Files">Using Existing Standup Files<span><a href="#label-Using+Existing+Standup+Files">&para;</a> <a href="#top">&uarr;</a></span></h3>
256
+
257
+ <p>If you already have a directory of existing standup files, you can use them, but they must be in a format that the parser can understand. The default is:</p>
258
+
259
+ <pre># 2020-05-01
260
+ ## Previous
261
+ - task
262
+ ## Current
263
+ - task
264
+ ## Impediments
265
+ - impediment
266
+ ## Notes
267
+ - notes, if any are present</pre>
268
+
269
+ <p>The order, words, date format, and header level are all customizable, but the overall format must be the same. If customization is necessary, this must be done in <code>~/.standup_md.yml</code> before execution, or else the parser will error.</p>
270
+
271
+ <p>For example, if you wanted the format to be as follows:</p>
272
+
273
+ <pre>## 05/01/2020
274
+ ### Today
275
+ - task
276
+ ### Yesterday
277
+ - task
278
+ ### Hold-ups
279
+ - impediment
280
+ ### Notes
281
+ - notes, if any are present</pre>
282
+
283
+ <p>Your <code>~/.standup_md.yml</code> should contain:</p>
284
+
285
+ <pre>sub_header_depth: 3
286
+ header_depth: 2
287
+ current_header: Today
288
+ previous_header: Yesterday
289
+ impediments_header: Hold-ups
290
+ header_date_format: &#39;%m/%d/%Y&#39;
291
+ sub_header_order:
292
+ - current
293
+ - previous
294
+ - impediments
295
+ - notes</pre>
296
+
252
297
  <h2 id="label-API">API<span><a href="#label-API">&para;</a> <a href="#top">&uarr;</a></span></h2>
253
298
 
254
299
  <p>Below are some quick examples, but the API is fully documented in the <a href="https://evanthegrayt.github.io/standup_md/doc/index.html">documentation</a>.</p>
255
300
 
256
- <p>This was mainly written as a command line utility, but I made the API available for scripting. There are attribute accessors for most of the settings in the <a href="#customization-and-runtime-options">customization table</a> above. To view all available methods, read the comments in the <a href="lib/standup_md.rb">source</a>. A quick-and-dirty example of how to write a new entry via code could look like the following:</p>
301
+ <p>This was mainly written as a command line utility, but I made the API available for scripting. There are attribute accessors for most of the settings in the <a href="#customization-and-runtime-options">customization table</a> above. A quick example of how to write a new entry via code could look like the following:</p>
257
302
 
258
303
  <pre class="ruby"><span class="ruby-identifier">require</span> <span class="ruby-string">&#39;standup_md&#39;</span>
259
304
 
260
- <span class="ruby-identifier">standup</span> = <span class="ruby-constant">StandupMD</span>.<span class="ruby-identifier">load</span>(
261
- <span class="ruby-value">current_header:</span> <span class="ruby-string">&#39;Today&#39;</span>,
262
- <span class="ruby-value">current_entry_tasks:</span> [<span class="ruby-string">&#39;Thing to do today&#39;</span>, <span class="ruby-string">&#39;Another thing to do today&#39;</span>],
263
- <span class="ruby-value">impediments:</span> [<span class="ruby-string">&#39;Not enough time in the day&#39;</span>]
264
- )
305
+ <span class="ruby-identifier">standup</span> = <span class="ruby-constant">StandupMD</span>.<span class="ruby-identifier">load</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">s</span><span class="ruby-operator">|</span>
306
+ <span class="ruby-identifier">s</span>.<span class="ruby-identifier">current_header</span> = <span class="ruby-string">&#39;Today&#39;</span>,
307
+ <span class="ruby-identifier">s</span>.<span class="ruby-identifier">current_entry_tasks</span> = [<span class="ruby-string">&#39;Thing to do today&#39;</span>, <span class="ruby-string">&#39;Another thing to do today&#39;</span>],
308
+ <span class="ruby-identifier">s</span>.<span class="ruby-identifier">impediments</span> = [<span class="ruby-string">&#39;Not enough time in the day&#39;</span>]
309
+ <span class="ruby-keyword">end</span>
265
310
 
266
311
  <span class="ruby-identifier">standup</span>.<span class="ruby-identifier">write</span>
267
312
  </pre>
268
313
 
314
+ <p>Note: <code>StandupMD::load() { ... }</code> just is a quick way to call <code>StandupMD::new { ... }.load</code>.</p>
315
+
269
316
  <p>Entries are just hashes, so you can easily transform them to <code>json</code> objects.</p>
270
317
 
271
318
  <pre class="ruby"><span class="ruby-identifier">require</span> <span class="ruby-string">&#39;standup_md&#39;</span>
272
319
  <span class="ruby-identifier">require</span> <span class="ruby-string">&#39;json&#39;</span>
273
320
 
274
321
  <span class="ruby-identifier">standup</span> = <span class="ruby-constant">StandupMD</span>.<span class="ruby-identifier">load</span>
275
- <span class="ruby-identifier">standup_entries_as_json</span> = <span class="ruby-identifier">standup</span>.<span class="ruby-identifier">all_entries</span>.<span class="ruby-identifier">to_json</span>
322
+
323
+ <span class="ruby-identifier">standup_json</span> = <span class="ruby-identifier">standup</span>.<span class="ruby-identifier">all_entries</span>.<span class="ruby-identifier">to_json</span>
276
324
  </pre>
277
325
 
278
326
  <h2 id="label-Reporting+Bugs+and+Requesting+Features">Reporting Bugs and Requesting Features<span><a href="#label-Reporting+Bugs+and+Requesting+Features">&para;</a> <a href="#top">&uarr;</a></span></h2>
data/doc/StandupMD.html CHANGED
@@ -71,12 +71,6 @@
71
71
 
72
72
  <li><a href="#Attributes+with+default+getters+and+setters.">Attributes with default getters and setters.</a></li>
73
73
 
74
- <li><a href="#Booleans">Booleans</a></li>
75
-
76
- <li><a href="#Custom+setters">Custom setters</a></li>
77
-
78
- <li><a href="#Misc">Misc</a></li>
79
-
80
74
  </ul>
81
75
  </div>
82
76
 
@@ -102,6 +96,10 @@
102
96
 
103
97
  <li ><a href="#method-i-bullet_character-3D">#bullet_character=</a>
104
98
 
99
+ <li ><a href="#method-i-config_file-3D">#config_file=</a>
100
+
101
+ <li ><a href="#method-i-config_file_loaded-3F">#config_file_loaded?</a>
102
+
105
103
  <li ><a href="#method-i-current_entry_tasks-3D">#current_entry_tasks=</a>
106
104
 
107
105
  <li ><a href="#method-i-directory-3D">#directory=</a>
@@ -116,6 +114,8 @@
116
114
 
117
115
  <li ><a href="#method-i-load">#load</a>
118
116
 
117
+ <li ><a href="#method-i-load_config_file">#load_config_file</a>
118
+
119
119
  <li ><a href="#method-i-new_month-3F">#new_month?</a>
120
120
 
121
121
  <li ><a href="#method-i-notes-3D">#notes=</a>
@@ -175,7 +175,7 @@
175
175
 
176
176
  <div class="method-heading">
177
177
  <span class="method-name">load</span><span
178
- class="method-args">(attributes = {})</span>
178
+ class="method-args">(config_file = nil) { |s| ... }</span>
179
179
 
180
180
  <span class="method-click-advice">click to toggle source</span>
181
181
 
@@ -184,9 +184,9 @@
184
184
 
185
185
  <div class="method-description">
186
186
 
187
- <p>Convenience method for calling <code>new</code> + <code>load</code></p>
187
+ <p>Convenience method for calling <code>new</code> + <code>load</code>. Accepts a <code>YAML</code> config file as an argument, and yields the standup instance if a block is given.</p>
188
188
 
189
- <p>@param [Hash] attributes Attributes to set before loading.</p>
189
+ <p>@param [String] <a href="StandupMD.html#attribute-i-config_file"><code>config_file</code></a> File path to config file.</p>
190
190
 
191
191
  <p>@example</p>
192
192
 
@@ -197,14 +197,11 @@
197
197
 
198
198
 
199
199
  <div class="method-source-code" id="load-source">
200
- <pre><span class="ruby-comment"># File lib/standup_md.rb, line 21</span>
201
- <span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier ruby-title">load</span>(<span class="ruby-identifier">attributes</span> = {})
202
- <span class="ruby-keyword">self</span>.<span class="ruby-identifier">new</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">s</span><span class="ruby-operator">|</span>
203
- <span class="ruby-identifier">attributes</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">k</span>, <span class="ruby-identifier">v</span><span class="ruby-operator">|</span>
204
- <span class="ruby-keyword">next</span> <span class="ruby-keyword">unless</span> <span class="ruby-identifier">s</span>.<span class="ruby-identifier">respond_to?</span>(<span class="ruby-identifier">k</span>)
205
- <span class="ruby-identifier">s</span>.<span class="ruby-identifier">send</span>(<span class="ruby-node">&quot;#{k}=&quot;</span>, <span class="ruby-identifier">v</span>)
206
- <span class="ruby-keyword">end</span>
207
- <span class="ruby-keyword">end</span>.<span class="ruby-identifier">load</span>
200
+ <pre><span class="ruby-comment"># File lib/standup_md.rb, line 22</span>
201
+ <span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier ruby-title">load</span>(<span class="ruby-identifier">config_file</span> = <span class="ruby-keyword">nil</span>)
202
+ <span class="ruby-identifier">s</span> = <span class="ruby-identifier">new</span>(<span class="ruby-identifier">config_file</span>)
203
+ <span class="ruby-keyword">yield</span> <span class="ruby-identifier">s</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">block_given?</span>
204
+ <span class="ruby-identifier">s</span>.<span class="ruby-identifier">load</span>
208
205
  <span class="ruby-keyword">end</span></pre>
209
206
  </div>
210
207
 
@@ -258,6 +255,36 @@
258
255
  </div>
259
256
  </div>
260
257
 
258
+ <div id="attribute-i-config" class="method-detail">
259
+ <div class="method-heading attribute-method-heading">
260
+ <span class="method-name">config</span><span
261
+ class="attribute-access-type">[R]</span>
262
+ </div>
263
+
264
+ <div class="method-description">
265
+
266
+ <p>The options from <code>config_file</code> as a hash.</p>
267
+
268
+ <p>@return [Hash] Options from <code>config_file</code></p>
269
+
270
+ </div>
271
+ </div>
272
+
273
+ <div id="attribute-i-config_file" class="method-detail">
274
+ <div class="method-heading attribute-method-heading">
275
+ <span class="method-name">config_file</span><span
276
+ class="attribute-access-type">[R]</span>
277
+ </div>
278
+
279
+ <div class="method-description">
280
+
281
+ <p>The configuration file. Default is <code>nil</code>. If set to a string, and the file exists, it is used to set options.</p>
282
+
283
+ <p>@return [String] file path</p>
284
+
285
+ </div>
286
+ </div>
287
+
261
288
  <div id="attribute-i-current_entry_tasks" class="method-detail">
262
289
  <div class="method-heading attribute-method-heading">
263
290
  <span class="method-name">current_entry_tasks</span><span
@@ -505,7 +532,7 @@
505
532
 
506
533
  <div class="method-description">
507
534
 
508
- <p>The file that contains previous entries. When last month&#39;s file exists, but this month&#39;s doesn&#39;t or is empty, <a href="StandupMD.html#attribute-i-previous_file"><code>previous_file</code></a> should equal last month&#39;s file.</p>
535
+ <p>The file that contains the previous entry. If previous entry was same month, <a href="StandupMD.html#attribute-i-previous_file"><code>previous_file</code></a> will be the same as file. If previous entry was last month, and a file exists for last month, <a href="StandupMD.html#attribute-i-previous_file"><code>previous_file</code></a> is last month&#39;s file. If neither is true, returns an empty string.</p>
509
536
 
510
537
  <p>@return [String]</p>
511
538
 
@@ -556,6 +583,26 @@
556
583
 
557
584
 
558
585
 
586
+ <section class="constants-list">
587
+ <header>
588
+ <h3>Constants</h3>
589
+ </header>
590
+ <dl>
591
+
592
+ <dt id="VERSION">VERSION
593
+
594
+ <dd><p>The gem verision</p>
595
+
596
+ <p>@example</p>
597
+
598
+ <pre class="ruby"><span class="ruby-constant">StandupMD</span><span class="ruby-operator">::</span><span class="ruby-constant">VERSION</span>
599
+ <span class="ruby-comment"># =&gt; &#39;0.1.3&#39;</span>
600
+ </pre>
601
+
602
+
603
+ </dl>
604
+ </section>
605
+
559
606
 
560
607
 
561
608
  <section class="attribute-method-details" class="method-section">
@@ -680,7 +727,7 @@
680
727
 
681
728
  <div class="method-heading">
682
729
  <span class="method-name">new</span><span
683
- class="method-args">() { |self| ... }</span>
730
+ class="method-args">(config_file = nil) { |self| ... }</span>
684
731
 
685
732
  <span class="method-click-advice">click to toggle source</span>
686
733
 
@@ -689,13 +736,15 @@
689
736
 
690
737
  <div class="method-description">
691
738
 
692
- <p>Constructor. Yields the instance so you can pass a block to access setters.</p>
739
+ <p>Constructor. Takes a path to a <code>YAML</code> configuration file as an argument. If passed, settings from the config file will be set. After <code>config_file</code> is loaded, yields <code>self</code> so you can pass a block to access setters, overwriting settings from <code>config_file</code>.</p>
740
+
741
+ <p>@param [String] <a href="StandupMD.html#attribute-i-config_file"><code>config_file</code></a> The config file, if any, to load.</p>
693
742
 
694
743
  <p>@return [self]</p>
695
744
 
696
745
  <p>@example</p>
697
746
 
698
- <pre class="ruby"><span class="ruby-identifier">su</span> = <span class="ruby-constant">StandupMD</span>.<span class="ruby-identifier">new</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">s</span><span class="ruby-operator">|</span>
747
+ <pre class="ruby"><span class="ruby-identifier">su</span> = <span class="ruby-constant">StandupMD</span>.<span class="ruby-identifier">new</span>(<span class="ruby-string">&#39;~/.standup_md.yml&#39;</span>) <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">s</span><span class="ruby-operator">|</span>
699
748
  <span class="ruby-identifier">s</span>.<span class="ruby-identifier">directory</span> = <span class="ruby-ivar">@workdir</span>
700
749
  <span class="ruby-identifier">s</span>.<span class="ruby-identifier">file_name_format</span> = <span class="ruby-string">&#39;%y_%m.markdown&#39;</span>
701
750
  <span class="ruby-identifier">s</span>.<span class="ruby-identifier">bullet_character</span> = <span class="ruby-string">&#39;*&#39;</span>
@@ -706,8 +755,9 @@
706
755
 
707
756
 
708
757
  <div class="method-source-code" id="new-source">
709
- <pre><span class="ruby-comment"># File lib/standup_md.rb, line 233</span>
710
- <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">initialize</span>
758
+ <pre><span class="ruby-comment"># File lib/standup_md.rb, line 250</span>
759
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">initialize</span>(<span class="ruby-identifier">config_file</span> = <span class="ruby-keyword">nil</span>)
760
+ <span class="ruby-ivar">@config</span> = {}
711
761
  <span class="ruby-ivar">@notes</span> = []
712
762
  <span class="ruby-ivar">@header_depth</span> = <span class="ruby-value">1</span>
713
763
  <span class="ruby-ivar">@sub_header_depth</span> = <span class="ruby-value">2</span>
@@ -722,6 +772,10 @@
722
772
  <span class="ruby-ivar">@impediments_header</span> = <span class="ruby-string">&#39;Impediments&#39;</span>
723
773
  <span class="ruby-ivar">@notes_header</span> = <span class="ruby-string">&#39;Notes&#39;</span>
724
774
  <span class="ruby-ivar">@sub_header_order</span> = <span class="ruby-node">%w[previous current impediments notes]</span>
775
+ <span class="ruby-ivar">@config_file_loaded</span> = <span class="ruby-keyword">false</span>
776
+ <span class="ruby-ivar">@config_file</span> = <span class="ruby-identifier">config_file</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">expand_path</span>(<span class="ruby-identifier">config_file</span>)
777
+
778
+ <span class="ruby-identifier">load_config_file</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">config_file</span>
725
779
 
726
780
  <span class="ruby-keyword">yield</span> <span class="ruby-keyword">self</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">block_given?</span>
727
781
  <span class="ruby-keyword">end</span></pre>
@@ -737,38 +791,17 @@
737
791
 
738
792
  </section>
739
793
 
740
- </section>
741
-
742
- <section id="Booleans" class="documentation-section">
743
-
744
- <header class="documentation-section-title">
745
- <h2>
746
- Booleans
747
- </h2>
748
- <span class="section-click-top">
749
- <a href="#top">&uarr; top</a>
750
- </span>
751
- </header>
752
-
753
-
754
-
755
-
756
-
757
-
758
-
759
-
760
-
761
- <section id="public-instance-Booleans-method-details" class="method-section">
794
+ <section id="public-instance-Attributes+with+default+getters+and+setters.-method-details" class="method-section">
762
795
  <header>
763
796
  <h3>Public Instance Methods</h3>
764
797
  </header>
765
798
 
766
799
 
767
- <div id="method-i-entry_previously_added-3F" class="method-detail ">
800
+ <div id="method-i-bullet_character-3D" class="method-detail ">
768
801
 
769
802
  <div class="method-heading">
770
- <span class="method-name">entry_previously_added?</span><span
771
- class="method-args">()</span>
803
+ <span class="method-name">bullet_character=</span><span
804
+ class="method-args">(character)</span>
772
805
 
773
806
  <span class="method-click-advice">click to toggle source</span>
774
807
 
@@ -777,17 +810,20 @@
777
810
 
778
811
  <div class="method-description">
779
812
 
780
- <p>Was today&#39;s entry already in the file?</p>
813
+ <p>Setter for bullet_character. Must be * (asterisk) or - (dash).</p>
781
814
 
782
- <p>@return [boolean] true if today&#39;s entry was already in the file</p>
815
+ <p>@param [String] character</p>
816
+
817
+ <p>@return [String]</p>
783
818
 
784
819
 
785
820
 
786
821
 
787
- <div class="method-source-code" id="entry_previously_added-3F-source">
788
- <pre><span class="ruby-comment"># File lib/standup_md.rb, line 275</span>
789
- <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">entry_previously_added?</span>
790
- <span class="ruby-ivar">@entry_previously_added</span>
822
+ <div class="method-source-code" id="bullet_character-3D-source">
823
+ <pre><span class="ruby-comment"># File lib/standup_md.rb, line 356</span>
824
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">bullet_character=</span>(<span class="ruby-identifier">character</span>)
825
+ <span class="ruby-identifier">raise</span> <span class="ruby-string">&#39;Must be &quot;-&quot; or &quot;*&quot;&#39;</span> <span class="ruby-keyword">unless</span> <span class="ruby-node">%w[- *]</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-identifier">character</span>)
826
+ <span class="ruby-ivar">@bullet_character</span> = <span class="ruby-identifier">character</span>
791
827
  <span class="ruby-keyword">end</span></pre>
792
828
  </div>
793
829
 
@@ -799,11 +835,11 @@
799
835
  </div>
800
836
 
801
837
 
802
- <div id="method-i-file_written-3F" class="method-detail ">
838
+ <div id="method-i-config_file-3D" class="method-detail ">
803
839
 
804
840
  <div class="method-heading">
805
- <span class="method-name">file_written?</span><span
806
- class="method-args">()</span>
841
+ <span class="method-name">config_file=</span><span
842
+ class="method-args">(config_file)</span>
807
843
 
808
844
  <span class="method-click-advice">click to toggle source</span>
809
845
 
@@ -812,27 +848,19 @@
812
848
 
813
849
  <div class="method-description">
814
850
 
815
- <p>Has the file been written since instantiated?</p>
816
-
817
- <p>@return [boolean]</p>
851
+ <p>Setter for directory. Must be expanded in case the user uses `~` for home. If the directory doesn&#39;t exist, it will be created. To reset instance variables after changing the directory, you&#39;ll need to call load.</p>
818
852
 
819
- <p>@example</p>
853
+ <p>@param [String] file</p>
820
854
 
821
- <pre class="ruby"><span class="ruby-identifier">su</span> = <span class="ruby-constant">StandupMD</span>.<span class="ruby-identifier">new</span>
822
- <span class="ruby-identifier">su</span>.<span class="ruby-identifier">file_written?</span>
823
- <span class="ruby-comment"># =&gt; false</span>
824
- <span class="ruby-identifier">su</span>.<span class="ruby-identifier">write</span>
825
- <span class="ruby-identifier">su</span>.<span class="ruby-identifier">file_written?</span>
826
- <span class="ruby-comment"># =&gt; true</span>
827
- </pre>
855
+ <p>@return [String]</p>
828
856
 
829
857
 
830
858
 
831
859
 
832
- <div class="method-source-code" id="file_written-3F-source">
833
- <pre><span class="ruby-comment"># File lib/standup_md.rb, line 267</span>
834
- <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">file_written?</span>
835
- <span class="ruby-ivar">@file_written</span>
860
+ <div class="method-source-code" id="config_file-3D-source">
861
+ <pre><span class="ruby-comment"># File lib/standup_md.rb, line 369</span>
862
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">config_file=</span>(<span class="ruby-identifier">config_file</span>)
863
+ <span class="ruby-ivar">@config_file</span> = <span class="ruby-constant">File</span>.<span class="ruby-identifier">expand_path</span>(<span class="ruby-identifier">config_file</span>)
836
864
  <span class="ruby-keyword">end</span></pre>
837
865
  </div>
838
866
 
@@ -844,40 +872,11 @@
844
872
  </div>
845
873
 
846
874
 
847
- </section>
848
-
849
- </section>
850
-
851
- <section id="Custom+setters" class="documentation-section">
852
-
853
- <header class="documentation-section-title">
854
- <h2>
855
- Custom setters
856
- </h2>
857
- <span class="section-click-top">
858
- <a href="#top">&uarr; top</a>
859
- </span>
860
- </header>
861
-
862
-
863
-
864
-
865
-
866
-
867
-
868
-
869
-
870
- <section id="public-instance-Custom+setters-method-details" class="method-section">
871
- <header>
872
- <h3>Public Instance Methods</h3>
873
- </header>
874
-
875
-
876
- <div id="method-i-bullet_character-3D" class="method-detail ">
875
+ <div id="method-i-config_file_loaded-3F" class="method-detail ">
877
876
 
878
877
  <div class="method-heading">
879
- <span class="method-name">bullet_character=</span><span
880
- class="method-args">(character)</span>
878
+ <span class="method-name">config_file_loaded?</span><span
879
+ class="method-args">()</span>
881
880
 
882
881
  <span class="method-click-advice">click to toggle source</span>
883
882
 
@@ -886,20 +885,17 @@
886
885
 
887
886
  <div class="method-description">
888
887
 
889
- <p>Setter for bullet_character. Must be * (asterisk) or - (dash).</p>
888
+ <p>Has a config file been loaded?</p>
890
889
 
891
- <p>@param [String] character</p>
892
-
893
- <p>@return [String]</p>
890
+ <p>@return [Boolean]</p>
894
891
 
895
892
 
896
893
 
897
894
 
898
- <div class="method-source-code" id="bullet_character-3D-source">
899
- <pre><span class="ruby-comment"># File lib/standup_md.rb, line 332</span>
900
- <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">bullet_character=</span>(<span class="ruby-identifier">character</span>)
901
- <span class="ruby-identifier">raise</span> <span class="ruby-string">&#39;Must be &quot;-&quot; or &quot;*&quot;&#39;</span> <span class="ruby-keyword">unless</span> <span class="ruby-node">%w[- *]</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-identifier">character</span>)
902
- <span class="ruby-ivar">@bullet_character</span> = <span class="ruby-identifier">character</span>
895
+ <div class="method-source-code" id="config_file_loaded-3F-source">
896
+ <pre><span class="ruby-comment"># File lib/standup_md.rb, line 278</span>
897
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">config_file_loaded?</span>
898
+ <span class="ruby-ivar">@config_file_loaded</span>
903
899
  <span class="ruby-keyword">end</span></pre>
904
900
  </div>
905
901
 
@@ -934,7 +930,7 @@
934
930
 
935
931
 
936
932
  <div class="method-source-code" id="current_entry_tasks-3D-source">
937
- <pre><span class="ruby-comment"># File lib/standup_md.rb, line 310</span>
933
+ <pre><span class="ruby-comment"># File lib/standup_md.rb, line 334</span>
938
934
  <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">current_entry_tasks=</span>(<span class="ruby-identifier">tasks</span>)
939
935
  <span class="ruby-identifier">raise</span> <span class="ruby-string">&#39;Must be an Array&#39;</span> <span class="ruby-keyword">unless</span> <span class="ruby-identifier">tasks</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">Array</span>)
940
936
  <span class="ruby-ivar">@current_entry_tasks</span> = <span class="ruby-identifier">tasks</span>
@@ -972,9 +968,8 @@
972
968
 
973
969
 
974
970
  <div class="method-source-code" id="directory-3D-source">
975
- <pre><span class="ruby-comment"># File lib/standup_md.rb, line 345</span>
971
+ <pre><span class="ruby-comment"># File lib/standup_md.rb, line 381</span>
976
972
  <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">directory=</span>(<span class="ruby-identifier">directory</span>)
977
- <span class="ruby-comment"># TODO test this</span>
978
973
  <span class="ruby-identifier">directory</span> = <span class="ruby-constant">File</span>.<span class="ruby-identifier">expand_path</span>(<span class="ruby-identifier">directory</span>)
979
974
  <span class="ruby-constant">FileUtils</span>.<span class="ruby-identifier">mkdir_p</span>(<span class="ruby-identifier">directory</span>) <span class="ruby-keyword">unless</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">directory?</span>(<span class="ruby-identifier">directory</span>)
980
975
  <span class="ruby-ivar">@directory</span> = <span class="ruby-identifier">directory</span>
@@ -986,6 +981,86 @@
986
981
 
987
982
 
988
983
 
984
+ </div>
985
+
986
+
987
+ <div id="method-i-entry_previously_added-3F" class="method-detail ">
988
+
989
+ <div class="method-heading">
990
+ <span class="method-name">entry_previously_added?</span><span
991
+ class="method-args">()</span>
992
+
993
+ <span class="method-click-advice">click to toggle source</span>
994
+
995
+ </div>
996
+
997
+
998
+ <div class="method-description">
999
+
1000
+ <p>Was today&#39;s entry already in the file?</p>
1001
+
1002
+ <p>@return [boolean] true if today&#39;s entry was already in the file</p>
1003
+
1004
+
1005
+
1006
+
1007
+ <div class="method-source-code" id="entry_previously_added-3F-source">
1008
+ <pre><span class="ruby-comment"># File lib/standup_md.rb, line 302</span>
1009
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">entry_previously_added?</span>
1010
+ <span class="ruby-ivar">@entry_previously_added</span>
1011
+ <span class="ruby-keyword">end</span></pre>
1012
+ </div>
1013
+
1014
+ </div>
1015
+
1016
+
1017
+
1018
+
1019
+ </div>
1020
+
1021
+
1022
+ <div id="method-i-file_written-3F" class="method-detail ">
1023
+
1024
+ <div class="method-heading">
1025
+ <span class="method-name">file_written?</span><span
1026
+ class="method-args">()</span>
1027
+
1028
+ <span class="method-click-advice">click to toggle source</span>
1029
+
1030
+ </div>
1031
+
1032
+
1033
+ <div class="method-description">
1034
+
1035
+ <p>Has the file been written since instantiated?</p>
1036
+
1037
+ <p>@return [boolean]</p>
1038
+
1039
+ <p>@example</p>
1040
+
1041
+ <pre class="ruby"><span class="ruby-identifier">su</span> = <span class="ruby-constant">StandupMD</span>.<span class="ruby-identifier">new</span>
1042
+ <span class="ruby-identifier">su</span>.<span class="ruby-identifier">file_written?</span>
1043
+ <span class="ruby-comment"># =&gt; false</span>
1044
+ <span class="ruby-identifier">su</span>.<span class="ruby-identifier">write</span>
1045
+ <span class="ruby-identifier">su</span>.<span class="ruby-identifier">file_written?</span>
1046
+ <span class="ruby-comment"># =&gt; true</span>
1047
+ </pre>
1048
+
1049
+
1050
+
1051
+
1052
+ <div class="method-source-code" id="file_written-3F-source">
1053
+ <pre><span class="ruby-comment"># File lib/standup_md.rb, line 294</span>
1054
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">file_written?</span>
1055
+ <span class="ruby-ivar">@file_written</span>
1056
+ <span class="ruby-keyword">end</span></pre>
1057
+ </div>
1058
+
1059
+ </div>
1060
+
1061
+
1062
+
1063
+
989
1064
  </div>
990
1065
 
991
1066
 
@@ -1012,12 +1087,12 @@
1012
1087
 
1013
1088
 
1014
1089
  <div class="method-source-code" id="header_depth-3D-source">
1015
- <pre><span class="ruby-comment"># File lib/standup_md.rb, line 358</span>
1090
+ <pre><span class="ruby-comment"># File lib/standup_md.rb, line 393</span>
1016
1091
  <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">header_depth=</span>(<span class="ruby-identifier">depth</span>)
1017
1092
  <span class="ruby-keyword">if</span> <span class="ruby-operator">!</span><span class="ruby-identifier">depth</span>.<span class="ruby-identifier">between?</span>(<span class="ruby-value">1</span>, <span class="ruby-value">5</span>)
1018
1093
  <span class="ruby-identifier">raise</span> <span class="ruby-string">&#39;Header depth out of bounds (1..5)&#39;</span>
1019
1094
  <span class="ruby-keyword">elsif</span> <span class="ruby-identifier">depth</span> <span class="ruby-operator">&gt;=</span> <span class="ruby-identifier">sub_header_depth</span>
1020
- <span class="ruby-identifier">raise</span> <span class="ruby-string">&#39;header_depth must be larger than sub_header_depth&#39;</span>
1095
+ <span class="ruby-ivar">@sub_header_depth</span> = <span class="ruby-identifier">depth</span> <span class="ruby-operator">+</span> <span class="ruby-value">1</span>
1021
1096
  <span class="ruby-keyword">end</span>
1022
1097
  <span class="ruby-ivar">@header_depth</span> = <span class="ruby-identifier">depth</span>
1023
1098
  <span class="ruby-keyword">end</span></pre>
@@ -1054,7 +1129,7 @@
1054
1129
 
1055
1130
 
1056
1131
  <div class="method-source-code" id="impediments-3D-source">
1057
- <pre><span class="ruby-comment"># File lib/standup_md.rb, line 321</span>
1132
+ <pre><span class="ruby-comment"># File lib/standup_md.rb, line 345</span>
1058
1133
  <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">impediments=</span>(<span class="ruby-identifier">tasks</span>)
1059
1134
  <span class="ruby-identifier">raise</span> <span class="ruby-string">&#39;Must be an Array&#39;</span> <span class="ruby-keyword">unless</span> <span class="ruby-identifier">tasks</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">Array</span>)
1060
1135
  <span class="ruby-ivar">@impediments</span> = <span class="ruby-identifier">tasks</span>
@@ -1069,11 +1144,11 @@
1069
1144
  </div>
1070
1145
 
1071
1146
 
1072
- <div id="method-i-notes-3D" class="method-detail ">
1147
+ <div id="method-i-load" class="method-detail ">
1073
1148
 
1074
1149
  <div class="method-heading">
1075
- <span class="method-name">notes=</span><span
1076
- class="method-args">(tasks)</span>
1150
+ <span class="method-name">load</span><span
1151
+ class="method-args">()</span>
1077
1152
 
1078
1153
  <span class="method-click-advice">click to toggle source</span>
1079
1154
 
@@ -1082,36 +1157,51 @@
1082
1157
 
1083
1158
  <div class="method-description">
1084
1159
 
1085
- <p>Setter for notes.</p>
1086
-
1087
- <p>@param [Array] notes</p>
1160
+ <p>Sets internal instance variables. Called when first instantiated, or after directory is set.</p>
1088
1161
 
1089
- <p>@return [Array]</p>
1162
+ <p>@return [self]</p>
1090
1163
 
1091
1164
 
1092
1165
 
1093
1166
 
1094
- <div class="method-source-code" id="notes-3D-source">
1095
- <pre><span class="ruby-comment"># File lib/standup_md.rb, line 299</span>
1096
- <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">notes=</span>(<span class="ruby-identifier">tasks</span>)
1097
- <span class="ruby-identifier">raise</span> <span class="ruby-string">&#39;Must be an Array&#39;</span> <span class="ruby-keyword">unless</span> <span class="ruby-identifier">tasks</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">Array</span>)
1098
- <span class="ruby-ivar">@notes</span> = <span class="ruby-identifier">tasks</span>
1167
+ <div class="method-source-code" id="load-source">
1168
+ <pre><span class="ruby-comment"># File lib/standup_md.rb, line 475</span>
1169
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">load</span>
1170
+ <span class="ruby-constant">FileUtils</span>.<span class="ruby-identifier">mkdir_p</span>(<span class="ruby-identifier">directory</span>) <span class="ruby-keyword">unless</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">directory?</span>(<span class="ruby-identifier">directory</span>)
1171
+
1172
+ <span class="ruby-ivar">@today</span> = <span class="ruby-constant">Date</span>.<span class="ruby-identifier">today</span>
1173
+ <span class="ruby-ivar">@header</span> = <span class="ruby-identifier">today</span>.<span class="ruby-identifier">strftime</span>(<span class="ruby-identifier">header_date_format</span>)
1174
+ <span class="ruby-ivar">@file_written</span> = <span class="ruby-keyword">false</span>
1175
+ <span class="ruby-ivar">@file</span> = <span class="ruby-constant">File</span>.<span class="ruby-identifier">expand_path</span>(<span class="ruby-constant">File</span>.<span class="ruby-identifier">join</span>(<span class="ruby-identifier">directory</span>, <span class="ruby-identifier">today</span>.<span class="ruby-identifier">strftime</span>(<span class="ruby-identifier">file_name_format</span>)))
1176
+ <span class="ruby-ivar">@previous_file</span> = <span class="ruby-identifier">get_previous_file</span>
1177
+ <span class="ruby-ivar">@all_previous_entries</span> = <span class="ruby-identifier">get_all_previous_entries</span>
1178
+ <span class="ruby-ivar">@entry_previously_added</span> = <span class="ruby-identifier">all_previous_entries</span>.<span class="ruby-identifier">key?</span>(<span class="ruby-identifier">header</span>)
1179
+ <span class="ruby-ivar">@previous_entry_tasks</span> = <span class="ruby-identifier">previous_entry</span>[<span class="ruby-identifier">current_header</span>]
1180
+ <span class="ruby-ivar">@current_entry</span> = <span class="ruby-ivar">@all_previous_entries</span>.<span class="ruby-identifier">delete</span>(<span class="ruby-identifier">header</span>) <span class="ruby-operator">||</span> <span class="ruby-identifier">new_entry</span>
1181
+ <span class="ruby-ivar">@all_entries</span> = {<span class="ruby-identifier">header</span> <span class="ruby-operator">=&gt;</span> <span class="ruby-identifier">current_entry</span>}.<span class="ruby-identifier">merge</span>(<span class="ruby-identifier">all_previous_entries</span>)
1182
+
1183
+ <span class="ruby-constant">FileUtils</span>.<span class="ruby-identifier">touch</span>(<span class="ruby-identifier">file</span>) <span class="ruby-keyword">unless</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">file?</span>(<span class="ruby-identifier">file</span>)
1184
+ <span class="ruby-keyword">self</span>
1099
1185
  <span class="ruby-keyword">end</span></pre>
1100
1186
  </div>
1101
1187
 
1102
1188
  </div>
1103
1189
 
1104
1190
 
1191
+ <div class="aliases">
1192
+ Also aliased as: <a href="StandupMD.html#method-i-reload">reload</a>
1193
+ </div>
1194
+
1105
1195
 
1106
1196
 
1107
1197
  </div>
1108
1198
 
1109
1199
 
1110
- <div id="method-i-previous_entry_tasks-3D" class="method-detail ">
1200
+ <div id="method-i-load_config_file" class="method-detail ">
1111
1201
 
1112
1202
  <div class="method-heading">
1113
- <span class="method-name">previous_entry_tasks=</span><span
1114
- class="method-args">(tasks)</span>
1203
+ <span class="method-name">load_config_file</span><span
1204
+ class="method-args">()</span>
1115
1205
 
1116
1206
  <span class="method-click-advice">click to toggle source</span>
1117
1207
 
@@ -1120,20 +1210,21 @@
1120
1210
 
1121
1211
  <div class="method-description">
1122
1212
 
1123
- <p>Setter for current entry tasks.</p>
1124
-
1125
- <p>@param [Array] tasks</p>
1213
+ <p>Loads the config file</p>
1126
1214
 
1127
- <p>@return [Array]</p>
1215
+ <p>@return [Hash] The config options</p>
1128
1216
 
1129
1217
 
1130
1218
 
1131
1219
 
1132
- <div class="method-source-code" id="previous_entry_tasks-3D-source">
1133
- <pre><span class="ruby-comment"># File lib/standup_md.rb, line 288</span>
1134
- <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">previous_entry_tasks=</span>(<span class="ruby-identifier">tasks</span>)
1135
- <span class="ruby-identifier">raise</span> <span class="ruby-string">&#39;Must be an Array&#39;</span> <span class="ruby-keyword">unless</span> <span class="ruby-identifier">tasks</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">Array</span>)
1136
- <span class="ruby-ivar">@previous_entry_tasks</span> = <span class="ruby-identifier">tasks</span>
1220
+ <div class="method-source-code" id="load_config_file-source">
1221
+ <pre><span class="ruby-comment"># File lib/standup_md.rb, line 441</span>
1222
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">load_config_file</span>
1223
+ <span class="ruby-identifier">raise</span> <span class="ruby-string">&#39;No config file set&#39;</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">config_file</span>.<span class="ruby-identifier">nil?</span>
1224
+ <span class="ruby-identifier">raise</span> <span class="ruby-node">&quot;File #{config_file} does not exist&quot;</span> <span class="ruby-keyword">unless</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">file?</span>(<span class="ruby-identifier">config_file</span>)
1225
+ <span class="ruby-ivar">@config</span> = <span class="ruby-constant">YAML</span><span class="ruby-operator">::</span><span class="ruby-identifier">load_file</span>(<span class="ruby-identifier">config_file</span>)
1226
+ <span class="ruby-ivar">@config_file_loaded</span> = <span class="ruby-keyword">true</span>
1227
+ <span class="ruby-ivar">@config</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">k</span>, <span class="ruby-identifier">v</span><span class="ruby-operator">|</span> <span class="ruby-identifier">send</span>(<span class="ruby-node">&quot;#{k}=&quot;</span>, <span class="ruby-identifier">v</span>) }
1137
1228
  <span class="ruby-keyword">end</span></pre>
1138
1229
  </div>
1139
1230
 
@@ -1145,11 +1236,11 @@
1145
1236
  </div>
1146
1237
 
1147
1238
 
1148
- <div id="method-i-sub_header_depth-3D" class="method-detail ">
1239
+ <div id="method-i-new_month-3F" class="method-detail ">
1149
1240
 
1150
1241
  <div class="method-heading">
1151
- <span class="method-name">sub_header_depth=</span><span
1152
- class="method-args">(depth)</span>
1242
+ <span class="method-name">new_month?</span><span
1243
+ class="method-args">()</span>
1153
1244
 
1154
1245
  <span class="method-click-advice">click to toggle source</span>
1155
1246
 
@@ -1158,24 +1249,15 @@
1158
1249
 
1159
1250
  <div class="method-description">
1160
1251
 
1161
- <p>Number of octothorps (#) to use before sub headers (Current, Previous, etc).</p>
1162
-
1163
- <p>@param [Integer] depth</p>
1164
-
1165
- <p>@return [Integer]</p>
1252
+ <p>Is today a different month than the previous entry?</p>
1166
1253
 
1167
1254
 
1168
1255
 
1169
1256
 
1170
- <div class="method-source-code" id="sub_header_depth-3D-source">
1171
- <pre><span class="ruby-comment"># File lib/standup_md.rb, line 373</span>
1172
- <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">sub_header_depth=</span>(<span class="ruby-identifier">depth</span>)
1173
- <span class="ruby-keyword">if</span> <span class="ruby-operator">!</span><span class="ruby-identifier">depth</span>.<span class="ruby-identifier">between?</span>(<span class="ruby-value">2</span>, <span class="ruby-value">6</span>)
1174
- <span class="ruby-identifier">raise</span> <span class="ruby-string">&#39;Sub-header depth out of bounds (2..6)&#39;</span>
1175
- <span class="ruby-keyword">elsif</span> <span class="ruby-identifier">depth</span> <span class="ruby-operator">&lt;=</span> <span class="ruby-identifier">header_depth</span>
1176
- <span class="ruby-identifier">raise</span> <span class="ruby-string">&#39;sub_header_depth must be smaller than header_depth&#39;</span>
1177
- <span class="ruby-keyword">end</span>
1178
- <span class="ruby-ivar">@sub_header_depth</span> = <span class="ruby-identifier">depth</span>
1257
+ <div class="method-source-code" id="new_month-3F-source">
1258
+ <pre><span class="ruby-comment"># File lib/standup_md.rb, line 501</span>
1259
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">new_month?</span>
1260
+ <span class="ruby-identifier">file</span> <span class="ruby-operator">!=</span> <span class="ruby-identifier">previous_file</span>
1179
1261
  <span class="ruby-keyword">end</span></pre>
1180
1262
  </div>
1181
1263
 
@@ -1187,11 +1269,11 @@
1187
1269
  </div>
1188
1270
 
1189
1271
 
1190
- <div id="method-i-sub_header_order-3D" class="method-detail ">
1272
+ <div id="method-i-notes-3D" class="method-detail ">
1191
1273
 
1192
1274
  <div class="method-heading">
1193
- <span class="method-name">sub_header_order=</span><span
1194
- class="method-args">(array)</span>
1275
+ <span class="method-name">notes=</span><span
1276
+ class="method-args">(tasks)</span>
1195
1277
 
1196
1278
  <span class="method-click-advice">click to toggle source</span>
1197
1279
 
@@ -1200,21 +1282,20 @@
1200
1282
 
1201
1283
  <div class="method-description">
1202
1284
 
1203
- <p>Preferred order for sub-headers.</p>
1285
+ <p>Setter for notes.</p>
1204
1286
 
1205
- <p>@param [Array] Values must be %w[previous current impediment notes]</p>
1287
+ <p>@param [Array] notes</p>
1206
1288
 
1207
1289
  <p>@return [Array]</p>
1208
1290
 
1209
1291
 
1210
1292
 
1211
1293
 
1212
- <div class="method-source-code" id="sub_header_order-3D-source">
1213
- <pre><span class="ruby-comment"># File lib/standup_md.rb, line 388</span>
1214
- <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">sub_header_order=</span>(<span class="ruby-identifier">array</span>)
1215
- <span class="ruby-identifier">order</span> = <span class="ruby-node">%w[previous current impediments notes]</span>
1216
- <span class="ruby-identifier">raise</span> <span class="ruby-node">&quot;Values must be #{order.join{&#39;, &#39;}}&quot;</span> <span class="ruby-keyword">unless</span> <span class="ruby-identifier">order</span>.<span class="ruby-identifier">sort</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">array</span>.<span class="ruby-identifier">sort</span>
1217
- <span class="ruby-ivar">@sub_header_order</span> = <span class="ruby-identifier">array</span>
1294
+ <div class="method-source-code" id="notes-3D-source">
1295
+ <pre><span class="ruby-comment"># File lib/standup_md.rb, line 323</span>
1296
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">notes=</span>(<span class="ruby-identifier">tasks</span>)
1297
+ <span class="ruby-identifier">raise</span> <span class="ruby-string">&#39;Must be an Array&#39;</span> <span class="ruby-keyword">unless</span> <span class="ruby-identifier">tasks</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">Array</span>)
1298
+ <span class="ruby-ivar">@notes</span> = <span class="ruby-identifier">tasks</span>
1218
1299
  <span class="ruby-keyword">end</span></pre>
1219
1300
  </div>
1220
1301
 
@@ -1226,113 +1307,79 @@
1226
1307
  </div>
1227
1308
 
1228
1309
 
1229
- </section>
1230
-
1231
- </section>
1310
+ <div id="method-i-previous_entry_tasks-3D" class="method-detail ">
1311
+
1312
+ <div class="method-heading">
1313
+ <span class="method-name">previous_entry_tasks=</span><span
1314
+ class="method-args">(tasks)</span>
1315
+
1316
+ <span class="method-click-advice">click to toggle source</span>
1317
+
1318
+ </div>
1319
+
1232
1320
 
1233
- <section id="Misc" class="documentation-section">
1234
-
1235
- <header class="documentation-section-title">
1236
- <h2>
1237
- Misc
1238
- </h2>
1239
- <span class="section-click-top">
1240
- <a href="#top">&uarr; top</a>
1241
- </span>
1242
- </header>
1243
-
1321
+ <div class="method-description">
1322
+
1323
+ <p>Setter for current entry tasks.</p>
1244
1324
 
1245
-
1325
+ <p>@param [Array] tasks</p>
1246
1326
 
1247
-
1248
- <section class="constants-list">
1249
- <header>
1250
- <h3>Constants</h3>
1251
- </header>
1252
- <dl>
1253
-
1254
- <dt id="VERSION">VERSION
1255
-
1256
- <dd><p>The gem verision</p>
1327
+ <p>@return [Array]</p>
1328
+
1329
+
1257
1330
 
1258
- <p>@example</p>
1331
+
1332
+ <div class="method-source-code" id="previous_entry_tasks-3D-source">
1333
+ <pre><span class="ruby-comment"># File lib/standup_md.rb, line 312</span>
1334
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">previous_entry_tasks=</span>(<span class="ruby-identifier">tasks</span>)
1335
+ <span class="ruby-identifier">raise</span> <span class="ruby-string">&#39;Must be an Array&#39;</span> <span class="ruby-keyword">unless</span> <span class="ruby-identifier">tasks</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">Array</span>)
1336
+ <span class="ruby-ivar">@previous_entry_tasks</span> = <span class="ruby-identifier">tasks</span>
1337
+ <span class="ruby-keyword">end</span></pre>
1338
+ </div>
1339
+
1340
+ </div>
1259
1341
 
1260
- <pre class="ruby"><span class="ruby-constant">StandupMD</span><span class="ruby-operator">::</span><span class="ruby-constant">VERSION</span>
1261
- <span class="ruby-comment"># =&gt; &#39;0.1.1&#39;</span>
1262
- </pre>
1263
1342
 
1264
-
1265
- </dl>
1266
- </section>
1267
-
1268
-
1269
-
1270
1343
 
1271
-
1272
- <section id="public-instance-Misc-method-details" class="method-section">
1273
- <header>
1274
- <h3>Public Instance Methods</h3>
1275
- </header>
1344
+
1345
+ </div>
1276
1346
 
1277
1347
 
1278
- <div id="method-i-load" class="method-detail ">
1348
+ <div id="method-i-reload" class="method-detail method-alias">
1279
1349
 
1280
1350
  <div class="method-heading">
1281
- <span class="method-name">load</span><span
1351
+ <span class="method-name">reload</span><span
1282
1352
  class="method-args">()</span>
1283
1353
 
1284
- <span class="method-click-advice">click to toggle source</span>
1285
-
1286
1354
  </div>
1287
1355
 
1288
1356
 
1289
1357
  <div class="method-description">
1290
1358
 
1291
- <p>Sets internal instance variables. Called when first instantiated, or after directory is set.</p>
1359
+ <p>Alias of <code>load</code></p>
1292
1360
 
1293
1361
  <p>@return [self]</p>
1294
1362
 
1295
1363
 
1296
1364
 
1297
1365
 
1298
- <div class="method-source-code" id="load-source">
1299
- <pre><span class="ruby-comment"># File lib/standup_md.rb, line 431</span>
1300
- <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">load</span>
1301
- <span class="ruby-constant">FileUtils</span>.<span class="ruby-identifier">mkdir_p</span>(<span class="ruby-identifier">directory</span>) <span class="ruby-keyword">unless</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">directory?</span>(<span class="ruby-identifier">directory</span>)
1302
-
1303
- <span class="ruby-ivar">@today</span> = <span class="ruby-constant">Date</span>.<span class="ruby-identifier">today</span>
1304
- <span class="ruby-ivar">@header</span> = <span class="ruby-identifier">today</span>.<span class="ruby-identifier">strftime</span>(<span class="ruby-identifier">header_date_format</span>)
1305
- <span class="ruby-ivar">@file_written</span> = <span class="ruby-keyword">false</span>
1306
- <span class="ruby-ivar">@file</span> = <span class="ruby-constant">File</span>.<span class="ruby-identifier">expand_path</span>(<span class="ruby-constant">File</span>.<span class="ruby-identifier">join</span>(<span class="ruby-identifier">directory</span>, <span class="ruby-identifier">today</span>.<span class="ruby-identifier">strftime</span>(<span class="ruby-identifier">file_name_format</span>)))
1307
- <span class="ruby-ivar">@previous_file</span> = <span class="ruby-identifier">get_previous_file</span>
1308
- <span class="ruby-ivar">@all_previous_entries</span> = <span class="ruby-identifier">get_all_previous_entries</span>
1309
- <span class="ruby-ivar">@entry_previously_added</span> = <span class="ruby-identifier">all_previous_entries</span>.<span class="ruby-identifier">key?</span>(<span class="ruby-identifier">header</span>)
1310
- <span class="ruby-ivar">@previous_entry_tasks</span> = <span class="ruby-identifier">previous_entry</span>[<span class="ruby-identifier">current_header</span>]
1311
- <span class="ruby-ivar">@current_entry</span> = <span class="ruby-ivar">@all_previous_entries</span>.<span class="ruby-identifier">delete</span>(<span class="ruby-identifier">header</span>) <span class="ruby-operator">||</span> <span class="ruby-identifier">new_entry</span>
1312
- <span class="ruby-ivar">@all_entries</span> = {<span class="ruby-identifier">header</span> <span class="ruby-operator">=&gt;</span> <span class="ruby-identifier">current_entry</span>}.<span class="ruby-identifier">merge</span>(<span class="ruby-identifier">all_previous_entries</span>)
1313
-
1314
- <span class="ruby-constant">FileUtils</span>.<span class="ruby-identifier">touch</span>(<span class="ruby-identifier">file</span>) <span class="ruby-keyword">unless</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">file?</span>(<span class="ruby-identifier">file</span>)
1315
- <span class="ruby-keyword">self</span>
1316
- <span class="ruby-keyword">end</span></pre>
1317
- </div>
1318
-
1319
1366
  </div>
1320
1367
 
1321
1368
 
1369
+
1370
+
1322
1371
  <div class="aliases">
1323
- Also aliased as: <a href="StandupMD.html#method-i-reload">reload</a>
1372
+ Alias for: <a href="StandupMD.html#method-i-load">load</a>
1324
1373
  </div>
1325
1374
 
1326
-
1327
-
1328
1375
  </div>
1329
1376
 
1330
1377
 
1331
- <div id="method-i-new_month-3F" class="method-detail ">
1378
+ <div id="method-i-sub_header_depth-3D" class="method-detail ">
1332
1379
 
1333
1380
  <div class="method-heading">
1334
- <span class="method-name">new_month?</span><span
1335
- class="method-args">()</span>
1381
+ <span class="method-name">sub_header_depth=</span><span
1382
+ class="method-args">(depth)</span>
1336
1383
 
1337
1384
  <span class="method-click-advice">click to toggle source</span>
1338
1385
 
@@ -1341,15 +1388,24 @@
1341
1388
 
1342
1389
  <div class="method-description">
1343
1390
 
1344
- <p>Is today a different month than the previous entry?</p>
1391
+ <p>Number of octothorps (#) to use before sub headers (Current, Previous, etc).</p>
1392
+
1393
+ <p>@param [Integer] depth</p>
1394
+
1395
+ <p>@return [Integer]</p>
1345
1396
 
1346
1397
 
1347
1398
 
1348
1399
 
1349
- <div class="method-source-code" id="new_month-3F-source">
1350
- <pre><span class="ruby-comment"># File lib/standup_md.rb, line 457</span>
1351
- <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">new_month?</span>
1352
- <span class="ruby-identifier">file</span> <span class="ruby-operator">!=</span> <span class="ruby-identifier">previous_file</span>
1400
+ <div class="method-source-code" id="sub_header_depth-3D-source">
1401
+ <pre><span class="ruby-comment"># File lib/standup_md.rb, line 408</span>
1402
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">sub_header_depth=</span>(<span class="ruby-identifier">depth</span>)
1403
+ <span class="ruby-keyword">if</span> <span class="ruby-operator">!</span><span class="ruby-identifier">depth</span>.<span class="ruby-identifier">between?</span>(<span class="ruby-value">2</span>, <span class="ruby-value">6</span>)
1404
+ <span class="ruby-identifier">raise</span> <span class="ruby-string">&#39;Sub-header depth out of bounds (2..6)&#39;</span>
1405
+ <span class="ruby-keyword">elsif</span> <span class="ruby-identifier">depth</span> <span class="ruby-operator">&lt;=</span> <span class="ruby-identifier">header_depth</span>
1406
+ <span class="ruby-ivar">@header_depth</span> = <span class="ruby-identifier">depth</span> <span class="ruby-operator">-</span> <span class="ruby-value">1</span>
1407
+ <span class="ruby-keyword">end</span>
1408
+ <span class="ruby-ivar">@sub_header_depth</span> = <span class="ruby-identifier">depth</span>
1353
1409
  <span class="ruby-keyword">end</span></pre>
1354
1410
  </div>
1355
1411
 
@@ -1361,41 +1417,46 @@
1361
1417
  </div>
1362
1418
 
1363
1419
 
1364
- <div id="method-i-reload" class="method-detail method-alias">
1420
+ <div id="method-i-sub_header_order" class="method-detail ">
1365
1421
 
1366
1422
  <div class="method-heading">
1367
- <span class="method-name">reload</span><span
1423
+ <span class="method-name">sub_header_order</span><span
1368
1424
  class="method-args">()</span>
1369
1425
 
1426
+ <span class="method-click-advice">click to toggle source</span>
1427
+
1370
1428
  </div>
1371
1429
 
1372
1430
 
1373
1431
  <div class="method-description">
1374
1432
 
1375
- <p>Alias of <code>load</code></p>
1433
+ <p>Return a copy of the sub-header order so the user can&#39;t modify the array.</p>
1376
1434
 
1377
- <p>@return [self]</p>
1435
+ <p>@return [Array]</p>
1378
1436
 
1379
1437
 
1380
1438
 
1381
1439
 
1440
+ <div class="method-source-code" id="sub_header_order-source">
1441
+ <pre><span class="ruby-comment"># File lib/standup_md.rb, line 433</span>
1442
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">sub_header_order</span>
1443
+ <span class="ruby-ivar">@sub_header_order</span>.<span class="ruby-identifier">dup</span>
1444
+ <span class="ruby-keyword">end</span></pre>
1445
+ </div>
1446
+
1382
1447
  </div>
1383
1448
 
1384
1449
 
1385
1450
 
1386
1451
 
1387
- <div class="aliases">
1388
- Alias for: <a href="StandupMD.html#method-i-load">load</a>
1389
- </div>
1390
-
1391
1452
  </div>
1392
1453
 
1393
1454
 
1394
- <div id="method-i-sub_header_order" class="method-detail ">
1455
+ <div id="method-i-sub_header_order-3D" class="method-detail ">
1395
1456
 
1396
1457
  <div class="method-heading">
1397
- <span class="method-name">sub_header_order</span><span
1398
- class="method-args">()</span>
1458
+ <span class="method-name">sub_header_order=</span><span
1459
+ class="method-args">(array)</span>
1399
1460
 
1400
1461
  <span class="method-click-advice">click to toggle source</span>
1401
1462
 
@@ -1404,17 +1465,21 @@
1404
1465
 
1405
1466
  <div class="method-description">
1406
1467
 
1407
- <p>Return a copy of the sub-header order so the user can&#39;t modify the array.</p>
1468
+ <p>Preferred order for sub-headers.</p>
1469
+
1470
+ <p>@param [Array] Values must be %w[previous current impediment notes]</p>
1408
1471
 
1409
1472
  <p>@return [Array]</p>
1410
1473
 
1411
1474
 
1412
1475
 
1413
1476
 
1414
- <div class="method-source-code" id="sub_header_order-source">
1415
- <pre><span class="ruby-comment"># File lib/standup_md.rb, line 401</span>
1416
- <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">sub_header_order</span>
1417
- <span class="ruby-ivar">@sub_header_order</span>.<span class="ruby-identifier">dup</span>
1477
+ <div class="method-source-code" id="sub_header_order-3D-source">
1478
+ <pre><span class="ruby-comment"># File lib/standup_md.rb, line 423</span>
1479
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">sub_header_order=</span>(<span class="ruby-identifier">array</span>)
1480
+ <span class="ruby-identifier">order</span> = <span class="ruby-node">%w[previous current impediments notes]</span>
1481
+ <span class="ruby-identifier">raise</span> <span class="ruby-node">&quot;Values must be #{order.join{&#39;, &#39;}}&quot;</span> <span class="ruby-keyword">unless</span> <span class="ruby-identifier">order</span>.<span class="ruby-identifier">sort</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">array</span>.<span class="ruby-identifier">sort</span>
1482
+ <span class="ruby-ivar">@sub_header_order</span> = <span class="ruby-identifier">array</span>
1418
1483
  <span class="ruby-keyword">end</span></pre>
1419
1484
  </div>
1420
1485
 
@@ -1447,7 +1512,7 @@
1447
1512
 
1448
1513
 
1449
1514
  <div class="method-source-code" id="write-source">
1450
- <pre><span class="ruby-comment"># File lib/standup_md.rb, line 409</span>
1515
+ <pre><span class="ruby-comment"># File lib/standup_md.rb, line 453</span>
1451
1516
  <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">write</span>
1452
1517
  <span class="ruby-constant">File</span>.<span class="ruby-identifier">open</span>(<span class="ruby-identifier">file</span>, <span class="ruby-string">&#39;w&#39;</span>) <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">f</span><span class="ruby-operator">|</span>
1453
1518
  <span class="ruby-identifier">all_entries</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">head</span>, <span class="ruby-identifier">s_heads</span><span class="ruby-operator">|</span>
@@ -1459,7 +1524,7 @@
1459
1524
  <span class="ruby-identifier">s_heads</span>[<span class="ruby-identifier">sh</span>].<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">task</span><span class="ruby-operator">|</span> <span class="ruby-identifier">f</span>.<span class="ruby-identifier">puts</span> <span class="ruby-identifier">bullet_character</span> <span class="ruby-operator">+</span> <span class="ruby-string">&#39; &#39;</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">task</span> }
1460
1525
  <span class="ruby-keyword">end</span>
1461
1526
  <span class="ruby-identifier">f</span>.<span class="ruby-identifier">puts</span>
1462
- <span class="ruby-keyword">return</span> <span class="ruby-ivar">@file_written</span> = <span class="ruby-keyword">true</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">new_month?</span>
1527
+ <span class="ruby-keyword">break</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">new_month?</span>
1463
1528
  <span class="ruby-keyword">end</span>
1464
1529
  <span class="ruby-keyword">end</span>
1465
1530
  <span class="ruby-ivar">@file_written</span> = <span class="ruby-keyword">true</span>