diff options
| author | Miquel Sabaté Solà <mikisabate@gmail.com> | 2025-08-08 23:14:22 +0200 |
|---|---|---|
| committer | Miquel Sabaté Solà <mikisabate@gmail.com> | 2025-08-08 23:14:22 +0200 |
| commit | 13243d96bf5bf945cb68fe752598abc8a0b0274a (patch) | |
| tree | 1c6adcfca40086b49f047a5a72450576681c6d6e | |
| parent | c99697a13e714d1ef87f047e5ad1c88f62f61f25 (diff) | |
| download | operum-13243d96bf5bf945cb68fe752598abc8a0b0274a.tar.gz operum-13243d96bf5bf945cb68fe752598abc8a0b0274a.zip | |
exporter: Avoid trailing dots on bare-bone items
Some items are going to be really empty: just the title and the author;
no year, no notes, etc. In these cases the exporter still tried to add
this missing information.
Signed-off-by: Miquel Sabaté Solà <mikisabate@gmail.com>
| -rw-r--r-- | lib/base_exporter.rb | 6 | ||||
| -rw-r--r-- | lib/plain_exporter.rb | 3 |
2 files changed, 8 insertions, 1 deletions
diff --git a/lib/base_exporter.rb b/lib/base_exporter.rb index f64301b..a67784e 100644 --- a/lib/base_exporter.rb +++ b/lib/base_exporter.rb @@ -59,7 +59,11 @@ class BaseExporter # # NOTE: the subclass *must* implement `parse_title`. def head(thing:) - str = "#{parse_authors(thing:)} (#{thing.year}). #{parse_title(title: thing.title)}." + str = if thing.year + "#{parse_authors(thing:)} (#{thing.year}). #{parse_title(title: thing.title)}." + else + "#{parse_authors(thing:)}. #{parse_title(title: thing.title)}." + end if thing.insideof.present? str += " #{inside_of(sub: thing.insideof)}" diff --git a/lib/plain_exporter.rb b/lib/plain_exporter.rb index 514d243..018c8f2 100644 --- a/lib/plain_exporter.rb +++ b/lib/plain_exporter.rb @@ -33,8 +33,11 @@ class PlainExporter < BaseExporter str += thing.note.present? ? "#{thing.note}. #{thing.publisher}" : thing.publisher end + str = str.strip if thing.address.present? str + ", #{thing.address}: #{thing.year}." + elsif str.blank? + nil else "#{str}." end |
