Sha256: f309427507b73638f6ebeb08d1c8812479c803f098251e5889aa895c5d29a93b

Contents?: true

Size: 478 Bytes

Versions: 10

Compression:

Stored size: 478 Bytes

Contents

# frozen_string_literal: true

module UltimateLyrics
  class SongMetadata
    class Field
      enable_listable
      lists.add_symbol :sources, :album, :artist, :title, :track, :year

      common_constructor :song_metadata, :field

      def apply(string)
        field.apply(string, value)
      end

      def value
        field.value(song_metadata.send(field.source_attribute))
      end

      def to_s
        "[#{song_metadata} | #{field}]"
      end
    end
  end
end

Version data entries

10 entries across 10 versions & 2 rubygems

Version Path
ultimate_lyrics-0.1.3 lib/ultimate_lyrics/song_metadata/field.rb
ehbrs-tools-0.28.3 vendor/ultimate_lyrics/lib/ultimate_lyrics/song_metadata/field.rb
ehbrs-tools-0.28.2 vendor/ultimate_lyrics/lib/ultimate_lyrics/song_metadata/field.rb
ehbrs-tools-0.28.1 vendor/ultimate_lyrics/lib/ultimate_lyrics/song_metadata/field.rb
ultimate_lyrics-0.1.2 lib/ultimate_lyrics/song_metadata/field.rb
ehbrs-tools-0.28.0 vendor/ultimate_lyrics/lib/ultimate_lyrics/song_metadata/field.rb
ultimate_lyrics-0.1.1 lib/ultimate_lyrics/song_metadata/field.rb
ehbrs-tools-0.27.0 vendor/ultimate_lyrics/lib/ultimate_lyrics/song_metadata/field.rb
ultimate_lyrics-0.1.0 lib/ultimate_lyrics/song_metadata/field.rb
ehbrs-tools-0.26.0 vendor/ultimate_lyrics/lib/ultimate_lyrics/song_metadata/field.rb