Sha256: ae5d93bfc887311dca10d5633588660d4b8b00667614fb415336c4006710aa21

Contents?: true

Size: 845 Bytes

Versions: 6

Compression:

Stored size: 845 Bytes

Contents

# encoding: UTF-8
module MusicBrainz
  module Bindings
    module ArtistSearch
      def parse(xml)
        xml.xpath('./artist-list/artist').map do |xml|
          {
            id: (xml.attribute('id').value rescue nil),
            mbid: (xml.attribute('id').value rescue nil), # Old shit
            name: (xml.xpath('./name').text.gsub(/[`’]/, "'") rescue nil),
            sort_name: (xml.xpath('./sort-name').gsub(/[`’]/, "'") rescue nil),
            type: (xml.attribute('type').value rescue nil),
            score: (xml.attribute('score').value.to_i rescue nil),
            desc: (xml.xpath('./disambiguation').value rescue nil),
            aliases: (xml.xpath('./alias-list/alias').map{ |xml| xml.text } rescue [])
          } rescue nil
        end.delete_if{ |item| item.nil? }
      end

      extend self
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
musicbrainz-0.7.7 lib/musicbrainz/bindings/artist_search.rb
musicbrainz-0.7.6 lib/musicbrainz/bindings/artist_search.rb
musicbrainz-0.7.5 lib/musicbrainz/bindings/artist_search.rb
musicbrainz-0.7.4 lib/musicbrainz/bindings/artist_search.rb
musicbrainz-0.7.3 lib/musicbrainz/bindings/artist_search.rb
musicbrainz-0.7.2 lib/musicbrainz/bindings/artist_search.rb