halation 0.2.1 → 0.3.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +10 -1
- data/doc/Halation.html +2 -2
- data/doc/Halation/Coerce.html +1 -1
- data/doc/Halation/Config.html +1 -1
- data/doc/Halation/Config/Camera.html +1 -1
- data/doc/Halation/Config/Lens.html +1 -1
- data/doc/Halation/Engine.html +5 -11
- data/doc/Halation/ExifToolImage.html +1 -1
- data/doc/Halation/Roll.html +122 -46
- data/doc/Halation/Roll/Frame.html +111 -37
- data/doc/Halation/Script.html +75 -26
- data/doc/_index.html +1 -1
- data/doc/file.LICENSE.html +1 -1
- data/doc/file.README.html +11 -2
- data/doc/index.html +11 -2
- data/doc/method_list.html +40 -24
- data/doc/top-level-namespace.html +1 -1
- data/lib/halation/engine.rb +14 -6
- data/lib/halation/roll.rb +10 -4
- data/lib/halation/roll/frame.rb +6 -3
- data/lib/halation/script.rb +25 -18
- data/lib/halation/version.rb +1 -1
- metadata +5 -5
data/doc/Halation/Script.html
CHANGED
@@ -128,7 +128,7 @@
|
|
128
128
|
<li class="public ">
|
129
129
|
<span class="summary_signature">
|
130
130
|
|
131
|
-
<a href="#generate_new_roll-class_method" title="generate_new_roll (class method)">.<strong>generate_new_roll</strong> ⇒ Object </a>
|
131
|
+
<a href="#generate_new_roll-class_method" title="generate_new_roll (class method)">.<strong>generate_new_roll</strong>(opts = {}) ⇒ Object </a>
|
132
132
|
|
133
133
|
|
134
134
|
|
@@ -183,7 +183,7 @@
|
|
183
183
|
<div class="method_details first">
|
184
184
|
<h3 class="signature first" id="generate_new_roll-class_method">
|
185
185
|
|
186
|
-
.<strong>generate_new_roll</strong> ⇒ <tt>Object</tt>
|
186
|
+
.<strong>generate_new_roll</strong>(opts = {}) ⇒ <tt>Object</tt>
|
187
187
|
|
188
188
|
|
189
189
|
|
@@ -198,18 +198,61 @@
|
|
198
198
|
</div>
|
199
199
|
</div>
|
200
200
|
<div class="tags">
|
201
|
+
<p class="tag_title">Parameters:</p>
|
202
|
+
<ul class="param">
|
203
|
+
|
204
|
+
<li>
|
205
|
+
|
206
|
+
<span class='name'>opts</span>
|
207
|
+
|
208
|
+
|
209
|
+
<span class='type'>(<tt>Hash</tt>)</span>
|
210
|
+
|
211
|
+
|
212
|
+
<em class="default">(defaults to: <tt>{}</tt>)</em>
|
213
|
+
|
214
|
+
|
215
|
+
—
|
216
|
+
<div class='inline'>
|
217
|
+
<p>a customizable set of options</p>
|
218
|
+
</div>
|
219
|
+
|
220
|
+
</li>
|
221
|
+
|
222
|
+
</ul>
|
223
|
+
|
224
|
+
|
225
|
+
|
226
|
+
|
227
|
+
<p class="tag_title">Options Hash (<tt>opts</tt>):</p>
|
228
|
+
<ul class="option">
|
229
|
+
|
230
|
+
<li>
|
231
|
+
<span class="name">:skip_exit</span>
|
232
|
+
<span class="type">(<tt>Boolean</tt>)</span>
|
233
|
+
<span class="default">
|
234
|
+
|
235
|
+
— default:
|
236
|
+
<tt>false</tt>
|
237
|
+
|
238
|
+
</span>
|
239
|
+
|
240
|
+
— <div class='inline'>
|
241
|
+
<p>Don't exit the program after calling a handler that would normally exit. Used for unit testing.</p>
|
242
|
+
</div>
|
243
|
+
|
244
|
+
</li>
|
245
|
+
|
246
|
+
</ul>
|
201
247
|
|
202
248
|
|
249
|
+
|
203
250
|
</div><table class="source_code">
|
204
251
|
<tr>
|
205
252
|
<td>
|
206
253
|
<pre class="lines">
|
207
254
|
|
208
255
|
|
209
|
-
85
|
210
|
-
86
|
211
|
-
87
|
212
|
-
88
|
213
256
|
89
|
214
257
|
90
|
215
258
|
91
|
@@ -224,17 +267,23 @@
|
|
224
267
|
100
|
225
268
|
101
|
226
269
|
102
|
227
|
-
103
|
270
|
+
103
|
271
|
+
104
|
272
|
+
105
|
273
|
+
106
|
274
|
+
107
|
275
|
+
108</pre>
|
228
276
|
</td>
|
229
277
|
<td>
|
230
|
-
<pre class="code"><span class="info file"># File 'lib/halation/script.rb', line
|
278
|
+
<pre class="code"><span class="info file"># File 'lib/halation/script.rb', line 89</span>
|
231
279
|
|
232
|
-
<span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_generate_new_roll'>generate_new_roll</span>
|
280
|
+
<span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_generate_new_roll'>generate_new_roll</span><span class='lparen'>(</span><span class='id identifier rubyid_opts'>opts</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span><span class='rparen'>)</span>
|
281
|
+
<span class='id identifier rubyid_skip_exit'>skip_exit</span> <span class='op'>=</span> <span class='op'>!</span><span class='op'>!</span><span class='id identifier rubyid_opts'>opts</span><span class='lbracket'>[</span><span class='symbol'>:skip_exit</span><span class='rbracket'>]</span>
|
233
282
|
<span class='id identifier rubyid_roll_path'>roll_path</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>roll.yml</span><span class='tstring_end'>"</span></span>
|
234
283
|
|
235
284
|
<span class='kw'>if</span> <span class='const'>File</span><span class='period'>.</span><span class='id identifier rubyid_exists?'>exists?</span><span class='lparen'>(</span><span class='id identifier rubyid_roll_path'>roll_path</span><span class='rparen'>)</span>
|
236
|
-
<span class='
|
237
|
-
<span class='kw'>
|
285
|
+
<span class='const'>STDERR</span><span class='period'>.</span><span class='id identifier rubyid_puts'>puts</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>A roll.yml file already exists in this directory.</span><span class='tstring_end'>"</span></span>
|
286
|
+
<span class='id identifier rubyid_exit'>exit</span> <span class='int'>1</span> <span class='kw'>unless</span> <span class='id identifier rubyid_skip_exit'>skip_exit</span>
|
238
287
|
<span class='kw'>end</span>
|
239
288
|
|
240
289
|
<span class='comment'># TODO: Make this configurable from config.yml
|
@@ -425,61 +474,61 @@
|
|
425
474
|
|
426
475
|
<span class='id identifier rubyid_options'>options</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span>
|
427
476
|
|
428
|
-
<span class='const'>OptionParser</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id identifier
|
429
|
-
<span class='id identifier
|
477
|
+
<span class='const'>OptionParser</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id identifier rubyid_op'>op</span><span class='op'>|</span>
|
478
|
+
<span class='id identifier rubyid_op'>op</span><span class='period'>.</span><span class='id identifier rubyid_banner'>banner</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Usage: halation [options]</span><span class='tstring_end'>"</span></span>
|
430
479
|
|
431
|
-
<span class='id identifier
|
480
|
+
<span class='id identifier rubyid_op'>op</span><span class='period'>.</span><span class='id identifier rubyid_on'>on</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>-c</span><span class='tstring_end'>"</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>--config=PATH</span><span class='tstring_end'>"</span></span><span class='comma'>,</span> <span class='const'>String</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Config file path</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_config_path'>config_path</span><span class='op'>|</span>
|
432
481
|
<span class='id identifier rubyid_options'>options</span><span class='lbracket'>[</span><span class='symbol'>:config_path</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_config_path'>config_path</span>
|
433
482
|
<span class='kw'>end</span>
|
434
483
|
|
435
|
-
<span class='id identifier
|
484
|
+
<span class='id identifier rubyid_op'>op</span><span class='period'>.</span><span class='id identifier rubyid_on'>on</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>--dry</span><span class='tstring_end'>"</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Dry run</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span> <span class='kw'>do</span>
|
436
485
|
<span class='id identifier rubyid_options'>options</span><span class='lbracket'>[</span><span class='symbol'>:dry_run</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='kw'>true</span>
|
437
486
|
<span class='comment'># TODO: Implement
|
438
487
|
</span> <span class='id identifier rubyid_raise'>raise</span> <span class='const'>NotImplementedError</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Dry run option is not yet implemented.</span><span class='tstring_end'>"</span></span>
|
439
488
|
<span class='kw'>end</span>
|
440
489
|
|
441
|
-
<span class='id identifier
|
442
|
-
<span class='id identifier rubyid_output_stream'>output_stream</span><span class='period'>.</span><span class='id identifier rubyid_puts'>puts</span> <span class='id identifier
|
490
|
+
<span class='id identifier rubyid_op'>op</span><span class='period'>.</span><span class='id identifier rubyid_on'>on</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>-h</span><span class='tstring_end'>"</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>--help</span><span class='tstring_end'>"</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Print this help</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span> <span class='kw'>do</span>
|
491
|
+
<span class='id identifier rubyid_output_stream'>output_stream</span><span class='period'>.</span><span class='id identifier rubyid_puts'>puts</span> <span class='id identifier rubyid_op'>op</span>
|
443
492
|
<span class='id identifier rubyid_run_engine'>run_engine</span> <span class='op'>=</span> <span class='kw'>false</span>
|
444
493
|
<span class='id identifier rubyid_exit'>exit</span> <span class='kw'>unless</span> <span class='id identifier rubyid_skip_exit'>skip_exit</span>
|
445
494
|
<span class='kw'>end</span>
|
446
495
|
|
447
|
-
<span class='id identifier
|
496
|
+
<span class='id identifier rubyid_op'>op</span><span class='period'>.</span><span class='id identifier rubyid_on'>on</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>--new-config</span><span class='tstring_end'>"</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Generate a new config file</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_path'>path</span><span class='op'>|</span>
|
448
497
|
<span class='comment'># TODO: Implement
|
449
498
|
</span> <span class='id identifier rubyid_raise'>raise</span> <span class='const'>NotImplementedError</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Generate config option is not yet implemented.</span><span class='tstring_end'>"</span></span>
|
450
499
|
<span class='id identifier rubyid_run_engine'>run_engine</span> <span class='op'>=</span> <span class='kw'>false</span>
|
451
500
|
<span class='id identifier rubyid_exit'>exit</span> <span class='kw'>unless</span> <span class='id identifier rubyid_skip_exit'>skip_exit</span>
|
452
501
|
<span class='kw'>end</span>
|
453
502
|
|
454
|
-
<span class='id identifier
|
455
|
-
<span class='id identifier rubyid_generate_new_roll'>generate_new_roll</span>
|
503
|
+
<span class='id identifier rubyid_op'>op</span><span class='period'>.</span><span class='id identifier rubyid_on'>on</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>--new-roll</span><span class='tstring_end'>"</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Generate a new roll.yml file</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span> <span class='kw'>do</span>
|
504
|
+
<span class='id identifier rubyid_generate_new_roll'>generate_new_roll</span><span class='lparen'>(</span><span class='id identifier rubyid_opts'>opts</span><span class='rparen'>)</span>
|
456
505
|
<span class='id identifier rubyid_run_engine'>run_engine</span> <span class='op'>=</span> <span class='kw'>false</span>
|
457
506
|
<span class='id identifier rubyid_exit'>exit</span> <span class='kw'>unless</span> <span class='id identifier rubyid_skip_exit'>skip_exit</span>
|
458
507
|
<span class='kw'>end</span>
|
459
508
|
|
460
|
-
<span class='id identifier
|
509
|
+
<span class='id identifier rubyid_op'>op</span><span class='period'>.</span><span class='id identifier rubyid_on'>on</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>-p</span><span class='tstring_end'>"</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>--print-config</span><span class='tstring_end'>"</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Print the configuration settings</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span> <span class='kw'>do</span>
|
461
510
|
<span class='comment'># TODO: Implement
|
462
511
|
</span> <span class='id identifier rubyid_raise'>raise</span> <span class='const'>NotImplementedError</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Print config option is not yet implemented.</span><span class='tstring_end'>"</span></span>
|
463
512
|
<span class='id identifier rubyid_run_engine'>run_engine</span> <span class='op'>=</span> <span class='kw'>false</span>
|
464
513
|
<span class='id identifier rubyid_exit'>exit</span> <span class='kw'>unless</span> <span class='id identifier rubyid_skip_exit'>skip_exit</span>
|
465
514
|
<span class='kw'>end</span>
|
466
515
|
|
467
|
-
<span class='id identifier
|
516
|
+
<span class='id identifier rubyid_op'>op</span><span class='period'>.</span><span class='id identifier rubyid_on'>on</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>-r</span><span class='tstring_end'>"</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>--recursive</span><span class='tstring_end'>"</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Traverse into subdirectories</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span> <span class='kw'>do</span>
|
468
517
|
<span class='comment'># TODO: Implement
|
469
518
|
</span> <span class='id identifier rubyid_raise'>raise</span> <span class='const'>NotImplementedError</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Recursive option is not yet implemented.</span><span class='tstring_end'>"</span></span>
|
470
519
|
<span class='kw'>end</span>
|
471
520
|
|
472
|
-
<span class='id identifier
|
521
|
+
<span class='id identifier rubyid_op'>op</span><span class='period'>.</span><span class='id identifier rubyid_on'>on</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>--silent</span><span class='tstring_end'>"</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Suppress messages to stdout.</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span> <span class='kw'>do</span>
|
473
522
|
<span class='id identifier rubyid_options'>options</span><span class='lbracket'>[</span><span class='symbol'>:silent</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='kw'>true</span>
|
474
523
|
<span class='kw'>end</span>
|
475
524
|
|
476
|
-
<span class='id identifier
|
525
|
+
<span class='id identifier rubyid_op'>op</span><span class='period'>.</span><span class='id identifier rubyid_on'>on</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>-v</span><span class='tstring_end'>"</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>--version</span><span class='tstring_end'>"</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Print the version information</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span> <span class='kw'>do</span>
|
477
526
|
<span class='id identifier rubyid_output_stream'>output_stream</span><span class='period'>.</span><span class='id identifier rubyid_puts'>puts</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>halation </span><span class='embexpr_beg'>#{</span><span class='const'><span class='object_link'><a href="../Halation.html" title="Halation (module)">Halation</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Halation.html#VERSION-constant" title="Halation::VERSION (constant)">VERSION</a></span></span><span class='embexpr_end'>}</span><span class='tstring_end'>"</span></span>
|
478
527
|
<span class='id identifier rubyid_run_engine'>run_engine</span> <span class='op'>=</span> <span class='kw'>false</span>
|
479
528
|
<span class='id identifier rubyid_exit'>exit</span> <span class='kw'>unless</span> <span class='id identifier rubyid_skip_exit'>skip_exit</span>
|
480
529
|
<span class='kw'>end</span>
|
481
530
|
<span class='rbrace'>}</span><span class='period'>.</span><span class='id identifier rubyid_parse!'>parse!</span><span class='lparen'>(</span><span class='id identifier rubyid_args'>args</span><span class='rparen'>)</span>
|
482
|
-
|
531
|
+
|
483
532
|
<span class='const'><span class='object_link'><a href="../Halation.html" title="Halation (module)">Halation</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="Engine.html" title="Halation::Engine (class)">Engine</a></span></span><span class='period'>.</span><span class='id identifier rubyid_run'><span class='object_link'><a href="Engine.html#run-class_method" title="Halation::Engine.run (method)">run</a></span></span><span class='lparen'>(</span><span class='id identifier rubyid_options'>options</span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='id identifier rubyid_run_engine'>run_engine</span>
|
484
533
|
<span class='kw'>end</span></pre>
|
485
534
|
</td>
|
@@ -492,7 +541,7 @@
|
|
492
541
|
</div>
|
493
542
|
|
494
543
|
<div id="footer">
|
495
|
-
Generated on Sun May 10
|
544
|
+
Generated on Sun May 10 21:13:56 2020 by
|
496
545
|
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
497
546
|
0.9.25 (ruby-2.7.1).
|
498
547
|
</div>
|
data/doc/_index.html
CHANGED
@@ -211,7 +211,7 @@
|
|
211
211
|
</div>
|
212
212
|
|
213
213
|
<div id="footer">
|
214
|
-
Generated on Sun May 10
|
214
|
+
Generated on Sun May 10 21:13:55 2020 by
|
215
215
|
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
216
216
|
0.9.25 (ruby-2.7.1).
|
217
217
|
</div>
|
data/doc/file.LICENSE.html
CHANGED
data/doc/file.README.html
CHANGED
@@ -108,7 +108,7 @@
|
|
108
108
|
<pre class="code ruby"><code class="ruby"># Example config.yml
|
109
109
|
---
|
110
110
|
artist: "Example User"
|
111
|
-
copyright: "
|
111
|
+
copyright: "{{ year_captured }} {{ artist }}"
|
112
112
|
cameras:
|
113
113
|
- tag: "rz67"
|
114
114
|
make: "Mamiya"
|
@@ -128,6 +128,15 @@ cameras:
|
|
128
128
|
focal_length: 250
|
129
129
|
</code></pre>
|
130
130
|
|
131
|
+
<h3 id="label-Templating">Templating</h3>
|
132
|
+
|
133
|
+
<p>Templated values are supported within the YAML files using the moustache <code>{{</code> <code>}}</code> syntax.</p>
|
134
|
+
<ul><li>
|
135
|
+
<p><code>artist</code> - Available within the <code>copyright</code> field to substitute the artist name.</p>
|
136
|
+
</li><li>
|
137
|
+
<p><code>year_captured</code> - Available within the <code>copyright</code> field to substitute the year the image was captured.</p>
|
138
|
+
</li></ul>
|
139
|
+
|
131
140
|
<h2 id="label-Tags">Tags</h2>
|
132
141
|
|
133
142
|
<p>Tags are user-defined values that serve as a quick and simple way to reference complex information.</p>
|
@@ -228,7 +237,7 @@ frames:
|
|
228
237
|
</div></div>
|
229
238
|
|
230
239
|
<div id="footer">
|
231
|
-
Generated on Sun May 10
|
240
|
+
Generated on Sun May 10 21:13:56 2020 by
|
232
241
|
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
233
242
|
0.9.25 (ruby-2.7.1).
|
234
243
|
</div>
|
data/doc/index.html
CHANGED
@@ -108,7 +108,7 @@
|
|
108
108
|
<pre class="code ruby"><code class="ruby"># Example config.yml
|
109
109
|
---
|
110
110
|
artist: "Example User"
|
111
|
-
copyright: "
|
111
|
+
copyright: "{{ year_captured }} {{ artist }}"
|
112
112
|
cameras:
|
113
113
|
- tag: "rz67"
|
114
114
|
make: "Mamiya"
|
@@ -128,6 +128,15 @@ cameras:
|
|
128
128
|
focal_length: 250
|
129
129
|
</code></pre>
|
130
130
|
|
131
|
+
<h3 id="label-Templating">Templating</h3>
|
132
|
+
|
133
|
+
<p>Templated values are supported within the YAML files using the moustache <code>{{</code> <code>}}</code> syntax.</p>
|
134
|
+
<ul><li>
|
135
|
+
<p><code>artist</code> - Available within the <code>copyright</code> field to substitute the artist name.</p>
|
136
|
+
</li><li>
|
137
|
+
<p><code>year_captured</code> - Available within the <code>copyright</code> field to substitute the year the image was captured.</p>
|
138
|
+
</li></ul>
|
139
|
+
|
131
140
|
<h2 id="label-Tags">Tags</h2>
|
132
141
|
|
133
142
|
<p>Tags are user-defined values that serve as a quick and simple way to reference complex information.</p>
|
@@ -228,7 +237,7 @@ frames:
|
|
228
237
|
</div></div>
|
229
238
|
|
230
239
|
<div id="footer">
|
231
|
-
Generated on Sun May 10
|
240
|
+
Generated on Sun May 10 21:13:55 2020 by
|
232
241
|
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
233
242
|
0.9.25 (ruby-2.7.1).
|
234
243
|
</div>
|
data/doc/method_list.html
CHANGED
@@ -117,6 +117,14 @@
|
|
117
117
|
|
118
118
|
|
119
119
|
<li class="even ">
|
120
|
+
<div class="item">
|
121
|
+
<span class='object_link'><a href="Halation/Roll.html#copyright-instance_method" title="Halation::Roll#copyright (method)">#copyright</a></span>
|
122
|
+
<small>Halation::Roll</small>
|
123
|
+
</div>
|
124
|
+
</li>
|
125
|
+
|
126
|
+
|
127
|
+
<li class="odd ">
|
120
128
|
<div class="item">
|
121
129
|
<span class='object_link'><a href="Halation/Config.html#copyright-instance_method" title="Halation::Config#copyright (method)">#copyright</a></span>
|
122
130
|
<small>Halation::Config</small>
|
@@ -124,9 +132,17 @@
|
|
124
132
|
</li>
|
125
133
|
|
126
134
|
|
135
|
+
<li class="even ">
|
136
|
+
<div class="item">
|
137
|
+
<span class='object_link'><a href="Halation/Coerce.html#date-class_method" title="Halation::Coerce.date (method)">date</a></span>
|
138
|
+
<small>Halation::Coerce</small>
|
139
|
+
</div>
|
140
|
+
</li>
|
141
|
+
|
142
|
+
|
127
143
|
<li class="odd ">
|
128
144
|
<div class="item">
|
129
|
-
<span class='object_link'><a href="Halation/Roll.html#
|
145
|
+
<span class='object_link'><a href="Halation/Roll.html#date_captured-instance_method" title="Halation::Roll#date_captured (method)">#date_captured</a></span>
|
130
146
|
<small>Halation::Roll</small>
|
131
147
|
</div>
|
132
148
|
</li>
|
@@ -134,7 +150,7 @@
|
|
134
150
|
|
135
151
|
<li class="even ">
|
136
152
|
<div class="item">
|
137
|
-
<span class='object_link'><a href="Halation/Roll/Frame.html#
|
153
|
+
<span class='object_link'><a href="Halation/Roll/Frame.html#date_captured-instance_method" title="Halation::Roll::Frame#date_captured (method)">#date_captured</a></span>
|
138
154
|
<small>Halation::Roll::Frame</small>
|
139
155
|
</div>
|
140
156
|
</li>
|
@@ -142,16 +158,16 @@
|
|
142
158
|
|
143
159
|
<li class="odd ">
|
144
160
|
<div class="item">
|
145
|
-
<span class='object_link'><a href="Halation/
|
146
|
-
<small>Halation::
|
161
|
+
<span class='object_link'><a href="Halation/Roll.html#date_scanned-instance_method" title="Halation::Roll#date_scanned (method)">#date_scanned</a></span>
|
162
|
+
<small>Halation::Roll</small>
|
147
163
|
</div>
|
148
164
|
</li>
|
149
165
|
|
150
166
|
|
151
167
|
<li class="even ">
|
152
168
|
<div class="item">
|
153
|
-
<span class='object_link'><a href="Halation/Roll.html#
|
154
|
-
<small>Halation::Roll</small>
|
169
|
+
<span class='object_link'><a href="Halation/Roll/Frame.html#date_scanned-instance_method" title="Halation::Roll::Frame#date_scanned (method)">#date_scanned</a></span>
|
170
|
+
<small>Halation::Roll::Frame</small>
|
155
171
|
</div>
|
156
172
|
</li>
|
157
173
|
|
@@ -238,24 +254,24 @@
|
|
238
254
|
|
239
255
|
<li class="odd ">
|
240
256
|
<div class="item">
|
241
|
-
<span class='object_link'><a href="Halation/
|
242
|
-
<small>Halation::
|
257
|
+
<span class='object_link'><a href="Halation/Config/Lens.html#initialize-instance_method" title="Halation::Config::Lens#initialize (method)">#initialize</a></span>
|
258
|
+
<small>Halation::Config::Lens</small>
|
243
259
|
</div>
|
244
260
|
</li>
|
245
261
|
|
246
262
|
|
247
263
|
<li class="even ">
|
248
264
|
<div class="item">
|
249
|
-
<span class='object_link'><a href="Halation/
|
250
|
-
<small>Halation::
|
265
|
+
<span class='object_link'><a href="Halation/Engine.html#initialize-instance_method" title="Halation::Engine#initialize (method)">#initialize</a></span>
|
266
|
+
<small>Halation::Engine</small>
|
251
267
|
</div>
|
252
268
|
</li>
|
253
269
|
|
254
270
|
|
255
271
|
<li class="odd ">
|
256
272
|
<div class="item">
|
257
|
-
<span class='object_link'><a href="Halation/
|
258
|
-
<small>Halation::
|
273
|
+
<span class='object_link'><a href="Halation/ExifToolImage.html#initialize-instance_method" title="Halation::ExifToolImage#initialize (method)">#initialize</a></span>
|
274
|
+
<small>Halation::ExifToolImage</small>
|
259
275
|
</div>
|
260
276
|
</li>
|
261
277
|
|
@@ -286,16 +302,16 @@
|
|
286
302
|
|
287
303
|
<li class="odd ">
|
288
304
|
<div class="item">
|
289
|
-
<span class='object_link'><a href="Halation/Roll
|
290
|
-
<small>Halation::Roll
|
305
|
+
<span class='object_link'><a href="Halation/Roll.html#lens-instance_method" title="Halation::Roll#lens (method)">#lens</a></span>
|
306
|
+
<small>Halation::Roll</small>
|
291
307
|
</div>
|
292
308
|
</li>
|
293
309
|
|
294
310
|
|
295
311
|
<li class="even ">
|
296
312
|
<div class="item">
|
297
|
-
<span class='object_link'><a href="Halation/Roll.html#lens-instance_method" title="Halation::Roll#lens (method)">#lens</a></span>
|
298
|
-
<small>Halation::Roll</small>
|
313
|
+
<span class='object_link'><a href="Halation/Roll/Frame.html#lens-instance_method" title="Halation::Roll::Frame#lens (method)">#lens</a></span>
|
314
|
+
<small>Halation::Roll::Frame</small>
|
299
315
|
</div>
|
300
316
|
</li>
|
301
317
|
|
@@ -366,16 +382,16 @@
|
|
366
382
|
|
367
383
|
<li class="odd ">
|
368
384
|
<div class="item">
|
369
|
-
<span class='object_link'><a href="Halation/
|
370
|
-
<small>Halation::
|
385
|
+
<span class='object_link'><a href="Halation/Roll.html#reset-instance_method" title="Halation::Roll#reset (method)">#reset</a></span>
|
386
|
+
<small>Halation::Roll</small>
|
371
387
|
</div>
|
372
388
|
</li>
|
373
389
|
|
374
390
|
|
375
391
|
<li class="even ">
|
376
392
|
<div class="item">
|
377
|
-
<span class='object_link'><a href="Halation/
|
378
|
-
<small>Halation::
|
393
|
+
<span class='object_link'><a href="Halation/Config.html#reset-instance_method" title="Halation::Config#reset (method)">#reset</a></span>
|
394
|
+
<small>Halation::Config</small>
|
379
395
|
</div>
|
380
396
|
</li>
|
381
397
|
|
@@ -462,16 +478,16 @@
|
|
462
478
|
|
463
479
|
<li class="odd ">
|
464
480
|
<div class="item">
|
465
|
-
<span class='object_link'><a href="Halation/Config
|
466
|
-
<small>Halation::Config
|
481
|
+
<span class='object_link'><a href="Halation/Config.html#to_s-instance_method" title="Halation::Config#to_s (method)">#to_s</a></span>
|
482
|
+
<small>Halation::Config</small>
|
467
483
|
</div>
|
468
484
|
</li>
|
469
485
|
|
470
486
|
|
471
487
|
<li class="even ">
|
472
488
|
<div class="item">
|
473
|
-
<span class='object_link'><a href="Halation/Config.html#to_s-instance_method" title="Halation::Config#to_s (method)">#to_s</a></span>
|
474
|
-
<small>Halation::Config</small>
|
489
|
+
<span class='object_link'><a href="Halation/Config/Camera.html#to_s-instance_method" title="Halation::Config::Camera#to_s (method)">#to_s</a></span>
|
490
|
+
<small>Halation::Config::Camera</small>
|
475
491
|
</div>
|
476
492
|
</li>
|
477
493
|
|
@@ -100,7 +100,7 @@
|
|
100
100
|
</div>
|
101
101
|
|
102
102
|
<div id="footer">
|
103
|
-
Generated on Sun May 10
|
103
|
+
Generated on Sun May 10 21:13:56 2020 by
|
104
104
|
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
105
105
|
0.9.25 (ruby-2.7.1).
|
106
106
|
</div>
|
data/lib/halation/engine.rb
CHANGED
@@ -66,12 +66,9 @@ module Halation
|
|
66
66
|
|
67
67
|
ExifToolImage.new(_image_files[i]).tap do |exif|
|
68
68
|
exif["Artist"] = @roll.artist || @config.artist
|
69
|
-
exif["Copyright"] = @roll
|
70
|
-
|
71
|
-
|
72
|
-
exif["DateTimeOriginal"] = date_created
|
73
|
-
exif["CreateDate"] = date_created
|
74
|
-
|
69
|
+
exif["Copyright"] = template_copyright(@config, @roll, frame)
|
70
|
+
exif["DateTimeOriginal"] = frame.date_captured || @roll.date_captured
|
71
|
+
exif["CreateDate"] = frame.date_scanned || @roll.date_scanned
|
75
72
|
exif["Make"] = camera.make
|
76
73
|
exif["Model"] = camera.model
|
77
74
|
exif["LensModel"] = lens.model
|
@@ -87,5 +84,16 @@ module Halation
|
|
87
84
|
end
|
88
85
|
end
|
89
86
|
|
87
|
+
private
|
88
|
+
|
89
|
+
def template_copyright(config, roll, frame)
|
90
|
+
artist = roll.artist || config.artist
|
91
|
+
date_captured = frame.date_captured || roll.date_captured
|
92
|
+
year_captured = date_captured.strftime("%Y")
|
93
|
+
|
94
|
+
copyright = (roll.copyright || config.copyright).clone
|
95
|
+
copyright.gsub!(Regexp.new("{{\s*artist\s*}}"), artist)
|
96
|
+
copyright.gsub!(Regexp.new("{{\s*year_captured\s*}}"), year_captured)
|
97
|
+
end
|
90
98
|
end
|
91
99
|
end
|