Sha256: f41ac786d2df5c36c75b38a6875a400a16e318e9f9f2253e0f3bb4081753179e

Contents?: true

Size: 1012 Bytes

Versions: 32

Compression:

Stored size: 1012 Bytes

Contents

# frozen_string_literal: true

require 'eac_ruby_utils/core_ext'
require 'ehbrs_ruby_utils/music/ous/artist'
require 'ehbrs_ruby_utils/music/ous/node'

module EhbrsRubyUtils
  module Music
    module Ous
      class Album < ::EhbrsRubyUtils::Music::Ous::Node
        include ::Comparable

        def <=>(other)
          to_a <=> other.to_a
        end

        def to_a
          [language, category.name, artist.name, name]
        end

        def to_circular_list_spreader_path
          to_a
        end

        def to_label
          (to_a + [id]).map(&:light_white).join(' | '.blue)
        end

        delegate :to_path, to: :path

        def id
          [artist.name, name].join('_').variableize
        end

        # @return [EhbrsRubyUtils::Music::Ous::Artist]
        def artist
          parent_node
        end

        def category
          artist.parent_node
        end

        def parent_node_class
          ::EhbrsRubyUtils::Music::Ous::Artist
        end
      end
    end
  end
end

Version data entries

32 entries across 32 versions & 1 rubygems

Version Path
ehbrs_ruby_utils-0.44.3 lib/ehbrs_ruby_utils/music/ous/album.rb
ehbrs_ruby_utils-0.44.2 lib/ehbrs_ruby_utils/music/ous/album.rb
ehbrs_ruby_utils-0.44.1 lib/ehbrs_ruby_utils/music/ous/album.rb
ehbrs_ruby_utils-0.44.0 lib/ehbrs_ruby_utils/music/ous/album.rb
ehbrs_ruby_utils-0.41.1 lib/ehbrs_ruby_utils/music/ous/album.rb
ehbrs_ruby_utils-0.41.0 lib/ehbrs_ruby_utils/music/ous/album.rb
ehbrs_ruby_utils-0.40.0 lib/ehbrs_ruby_utils/music/ous/album.rb
ehbrs_ruby_utils-0.39.0 lib/ehbrs_ruby_utils/music/ous/album.rb
ehbrs_ruby_utils-0.38.0 lib/ehbrs_ruby_utils/music/ous/album.rb
ehbrs_ruby_utils-0.37.0 lib/ehbrs_ruby_utils/music/ous/album.rb
ehbrs_ruby_utils-0.36.1 lib/ehbrs_ruby_utils/music/ous/album.rb
ehbrs_ruby_utils-0.36.0 lib/ehbrs_ruby_utils/music/ous/album.rb
ehbrs_ruby_utils-0.35.0 lib/ehbrs_ruby_utils/music/ous/album.rb
ehbrs_ruby_utils-0.33.0 lib/ehbrs_ruby_utils/music/ous/album.rb
ehbrs_ruby_utils-0.32.0 lib/ehbrs_ruby_utils/music/ous/album.rb
ehbrs_ruby_utils-0.31.0 lib/ehbrs_ruby_utils/music/ous/album.rb
ehbrs_ruby_utils-0.30.0 lib/ehbrs_ruby_utils/music/ous/album.rb
ehbrs_ruby_utils-0.29.0 lib/ehbrs_ruby_utils/music/ous/album.rb
ehbrs_ruby_utils-0.28.0 lib/ehbrs_ruby_utils/music/ous/album.rb
ehbrs_ruby_utils-0.27.1 lib/ehbrs_ruby_utils/music/ous/album.rb