Class: AudioTag::ID3::V2::FrameMerger

Inherits:
Object
  • Object
show all
Defined in:
lib/audio_tag/id3/v2/frame_merger.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(frames) ⇒ FrameMerger

Returns a new instance of FrameMerger.



7
8
9
# File 'lib/audio_tag/id3/v2/frame_merger.rb', line 7

def initialize(frames)
  @frames = frames
end

Instance Attribute Details

#framesObject (readonly)

Returns the value of attribute frames.



5
6
7
# File 'lib/audio_tag/id3/v2/frame_merger.rb', line 5

def frames
  @frames
end

Instance Method Details

#mergeObject



11
12
13
14
15
16
17
18
19
20
# File 'lib/audio_tag/id3/v2/frame_merger.rb', line 11

def merge
  pairs.each_with_object({}) do |(key, value), hash|
    case hash[key]
    when Hash   then hash[key].merge!(value)
    when String then hash[key] = [hash[key], value]
    when Array  then hash[key] << value
    else hash[key] = value
    end
  end
end