class KodiDedup::Media

Attributes

group_by_proc[R]
singular_class[R]

Public Class Methods

new(media:, singular_class:, group_by_proc: ) click to toggle source
Calls superclass method
# File lib/kodi_dedup/classes/media.rb, line 5
def initialize(media:, singular_class:, group_by_proc: )
  @singular_class = singular_class
  @group_by_proc = group_by_proc
  super(media.map { |m| singular_class.wrap(m) }.select { |m| m.exists? })
end

Public Instance Methods

grouped() click to toggle source
# File lib/kodi_dedup/classes/media.rb, line 11
def grouped
  group_by(&@group_by_proc).values.select { |media| media.length > 1 }.map { |media| self.class.new(media) }
end
total_playcount() click to toggle source
# File lib/kodi_dedup/classes/media.rb, line 19
def total_playcount
  sum { |e| e.playcount }
end
unplayed() click to toggle source
# File lib/kodi_dedup/classes/media.rb, line 15
def unplayed
  select { |e| e.playcount == 0 }
end