class FLACsmith::Metadata::Tagger
Provides metadata tag management.
Attributes
path[R]
Public Class Methods
new(path)
click to toggle source
# File lib/flacsmith/metadata/tagger.rb, line 7 def initialize path @path = path end
Public Instance Methods
add(tags = [])
click to toggle source
# File lib/flacsmith/metadata/tagger.rb, line 16 def add tags = [] options = Array(tags).map { |tag| "--set-tag=#{tag}" } Formatter.new(`metaflac #{options.join " "} "#{path}" 2> /dev/null`).to_h end
read(tags = Tag.defaults)
click to toggle source
# File lib/flacsmith/metadata/tagger.rb, line 11 def read tags = Tag.defaults options = Array(tags).map { |tag| "--show-tag=#{tag.key}" } Formatter.new(`metaflac #{options.join " "} "#{path}" 2> /dev/null`).to_h end
remove(tags = [])
click to toggle source
# File lib/flacsmith/metadata/tagger.rb, line 21 def remove tags = [] options = Array(tags).map { |tag| "--remove-tag=#{tag.key}" } Formatter.new(`metaflac #{options.join " "} "#{path}" 2> /dev/null`).to_h end
update(tags = [])
click to toggle source
# File lib/flacsmith/metadata/tagger.rb, line 26 def update tags = [] remove tags add tags end