* Shorten long titles from feed items if needed
Fixes#13959
When the title is too long to create a valid article, put a shortened
title in the generated article markdown.
Added unit tests to cover the default case and the shortening case
* Fix Struct initialization
Rubocop suggested struct over openstruct because of performance, but
Struct.new creates a "class" with a positional initializer, while
Openstruct's new takes a hash like keyword set and builds an object
from those directly.
I mistakenly reused the openstruct syntax after the conversion. This
changes the feed and item to use Struct's initializer.
* Use String#truncate in place of custom trimming
`separator` enables a natural break (preventing space between last
character and ellipsis), and omission text "..." is the default behavior.
* Use verifying doubles in test, use method access to members in code
The instance_double for Feedjira::Parser::RSSEntry
necessitated changing hash key access to reader method access for the
data members (title, categories, summary, description).