module VkMusic::Utility::AudioDataParser

Parse {Audio} from Array of audio data

Public Class Methods

call(data, client_id) click to toggle source

@param data [Array] @param client_id [Integer] @return [Audio]

# File lib/vk_music/utility/audio_data_parser.rb, line 11
def call(data, client_id)
  url_encoded = get_url_encoded(data)
  _add_hash, _edit_hash, _action_hash, _delete_hash, _teplace_hash, url_hash = get_secrets(data)

  Audio.new(id: data[0], owner_id: data[1],
            secret1: url_hash, secret2: url_hash,
            artist: CGI.unescapeHTML(data[4]), title: CGI.unescapeHTML(data[3]),
            duration: data[5],
            url_encoded: url_encoded, url: nil, client_id: client_id)
end

Private Class Methods

get_secrets(data) click to toggle source
# File lib/vk_music/utility/audio_data_parser.rb, line 31
def get_secrets(data)
  data[13].to_s.split('/')
end
get_url_encoded(data) click to toggle source
# File lib/vk_music/utility/audio_data_parser.rb, line 24
def get_url_encoded(data)
  url_encoded = data[2].to_s
  url_encoded = nil if url_encoded.empty?

  url_encoded
end