Sha256: c8c67ef9d3aee684212d943a7427b06355af9950b574f190d21383358e60a4e5
Contents?: true
Size: 1.44 KB
Versions: 1
Compression:
Stored size: 1.44 KB
Contents
module Sevendigital class TrackDigestor < Digestor def default_element_name; :track end def default_list_element_name; :tracks end def from_proxy(track_proxy) make_sure_not_eating_nil (track_proxy) track = Track.new(@api_client) populate_required_properties(track, track_proxy) populate_optional_properties(track, track_proxy) return track end def populate_required_properties(track, track_proxy) track.id = track_proxy.id.to_i track.title = track_proxy.title.value.to_s track.artist = @api_client.artist_digestor.from_proxy(track_proxy.artist) end def populate_optional_properties(track, track_proxy) track.version = track_proxy.version.value.to_s if track_proxy.version track.track_number = track_proxy.track_number.value.to_i if track_proxy.track_number track.duration = track_proxy.duration.value.to_i if track_proxy.duration track.release = @api_client.release_digestor.from_proxy(track_proxy.release) if track_proxy.release track.explicit_content = track_proxy.explicit_content.value.to_s.downcase == "true" if track_proxy.explicit_content track.isrc = track_proxy.isrc.value.to_s if track_proxy.isrc track.image = track_proxy.image.value.to_s if track_proxy.image track.url = track_proxy.url.value.to_s if track_proxy.url track.price = @api_client.price_digestor.from_proxy(track_proxy.price) if track_proxy.price end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
7digital-0.0.1 | lib/sevendigital/digestion_tract/track_digestor.rb |