Class: FLACsmith::Metadata::Tagger
- Inherits:
-
Object
- Object
- FLACsmith::Metadata::Tagger
- Defined in:
- lib/flacsmith/metadata/tagger.rb
Overview
Provides metadata tag management.
Instance Method Summary collapse
- #add(tags = []) ⇒ Object
-
#initialize(path) ⇒ Tagger
constructor
A new instance of Tagger.
- #read(tags = Tag.defaults) ⇒ Object
- #remove(tags = []) ⇒ Object
- #update(tags = []) ⇒ Object
Constructor Details
#initialize(path) ⇒ Tagger
Returns a new instance of Tagger.
7 8 9 |
# File 'lib/flacsmith/metadata/tagger.rb', line 7 def initialize path @path = path end |
Instance Method Details
#add(tags = []) ⇒ Object
16 17 18 19 |
# File 'lib/flacsmith/metadata/tagger.rb', line 16 def add = [] = Array().map { |tag| "--set-tag=#{tag}" } Formatter.new(`metaflac #{.join " "} "#{path}" 2> /dev/null`).to_h end |
#read(tags = Tag.defaults) ⇒ Object
11 12 13 14 |
# File 'lib/flacsmith/metadata/tagger.rb', line 11 def read = Tag.defaults = Array().map { |tag| "--show-tag=#{tag.key}" } Formatter.new(`metaflac #{.join " "} "#{path}" 2> /dev/null`).to_h end |
#remove(tags = []) ⇒ Object
21 22 23 24 |
# File 'lib/flacsmith/metadata/tagger.rb', line 21 def remove = [] = Array().map { |tag| "--remove-tag=#{tag.key}" } Formatter.new(`metaflac #{.join " "} "#{path}" 2> /dev/null`).to_h end |
#update(tags = []) ⇒ Object
26 27 28 29 |
# File 'lib/flacsmith/metadata/tagger.rb', line 26 def update = [] remove add end |