class Reading::Csv::Parse::ParseLine::ParseSeries
Public Instance Methods
call(name, _columns = nil)
click to toggle source
# File lib/reading/csv/parse_attributes.rb, line 45 def call(name, _columns = nil) separated = name.split(config.fetch(:csv).fetch(:long_separator)) .map(&:strip) .map(&:presence) .compact separated.delete_at(0) # everything before the series/extra info. separated.map do |str| volume = str.match(config.fetch(:csv).fetch(:regex).fetch(:series_volume)) prefix = "#{config.fetch(:csv).fetch(:series_prefix)} " if volume || str.start_with?(prefix) { name: str.delete_suffix(volume.to_s).delete_prefix(prefix) || default[:name], volume: volume&.captures&.first&.to_i || default[:volume] } end end .compact.presence || [] end
default()
click to toggle source
# File lib/reading/csv/parse_attributes.rb, line 62 def default config.fetch(:item).fetch(:template).fetch(:series).first end