Module: Id3Taginator::Frames::GeoFrames
Instance Method Summary collapse
-
#encapsulated_object=(object) ⇒ Object
(also: #add_encapsulated_object)
adds a general encapsulated object (GEOB/GEO).
-
#encapsulated_objects ⇒ Array<Frames::Geo::Entities::EncapsulatedObject>
extracts the general encapsulated objects (GEOB/GEO).
-
#remove_encapsulated_object(descriptor) ⇒ Object
removes an encapsulated object for the specific descriptor.
Methods included from Frameable
#find_frame, #find_frames, #set_frame_fields, #set_frame_fields_by_selector, #unsupported_frame
Instance Method Details
#encapsulated_object=(object) ⇒ Object Also known as: add_encapsulated_object
adds a general encapsulated object (GEOB/GEO)
21 22 23 24 25 26 |
# File 'lib/id3taginator/frames/geo_frames.rb', line 21 def encapsulated_object=(object) set_frame_fields_by_selector(Geo::GeneralEncapsulatedObjectFrame, %i[@mime_type @filename @descriptor @object_data], ->(f) { f.descriptor == object.descriptor }, object.mime_type, object.filename, object.descriptor, object.object_data) end |
#encapsulated_objects ⇒ Array<Frames::Geo::Entities::EncapsulatedObject>
extracts the general encapsulated objects (GEOB/GEO)
11 12 13 14 15 16 |
# File 'lib/id3taginator/frames/geo_frames.rb', line 11 def encapsulated_objects frame = find_frames(Geo::GeneralEncapsulatedObjectFrame.frame_id(@major_version, @options)) return [] if frame.nil? || frame.empty? frame.map { |f| Geo::Entities::EncapsulatedObject.new(f.mime_type, f.filename, f.descriptor, f.object_data) } end |
#remove_encapsulated_object(descriptor) ⇒ Object
removes an encapsulated object for the specific descriptor
33 34 35 36 37 38 |
# File 'lib/id3taginator/frames/geo_frames.rb', line 33 def remove_encapsulated_object(descriptor) @frames.delete_if do |f| f.frame_id == Geo::GeneralEncapsulatedObjectFrame.frame_id(@major_version, @options) && f.descriptor == descriptor end end |