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