Sha256: 203d0cb0ec7eb6668a4aefe71ff1d86a9d61ca9a8bb4fda448f0ff9ddbf908d3

Contents?: true

Size: 1.55 KB

Versions: 7

Compression:

Stored size: 1.55 KB

Contents

module Songkickr
  #   A single set list by an artist.
  #
  #   {
  #     "displayName": "N.E.R.D. at Glastonbury Festival 2009",
  #     "artist": {
  #       "uri": "http://www.songkick.com/artists/387012-nerd?utm_source=791&utm_medium=partner"
  #       "identifier": [
  #         {
  #           "href": "http://api.songkick.com/api/3.0/artists/mbid:3fb49f5a-fdc0-4789-9c84-22b38b3f3cb5.json"
  #           "mbid": "3fb49f5a-fdc0-4789-9c84-22b38b3f3cb5"
  #         }
  #       ]
  #       "displayName": "N.E.R.D."
  #       "id": 387012
  #     },
  #     "id": 9511,
  #     "setlistItem": []
  #   }
  class Setlist
    attr_accessor :event, :setlist_items, :artist, :playlist_uri, :display_name, :id
    
    # Takes the setlist hash and parses out an Event and Artist and an array of SetlistItems.
    def initialize(setlist_hash)
      @event         = Songkickr::Event.new setlist_hash["event"]
      @setlist_items = parse_setlist_items setlist_hash["setlistItem"]
      @artist        = Songkickr::Artist.new setlist_hash["artist"]
      @playlist_uri  = setlist_hash["playlistUri"]
      @display_name  = setlist_hash["displayName"]
      @id            = setlist_hash["id"]
    end
    
    protected
      
      # Takes the array of setlist items and create SetLists
      def parse_setlist_items(setlist_item_array = nil)
        setlist_items = []
        if setlist_item_array
          setlist_item_array.each do |item|
            setlist_items << Songkickr::SetlistItem.new(item)
          end
        end
        
        setlist_items
      end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
songkickr-0.3.3 lib/songkickr/setlist.rb
songkickr-0.3.2 lib/songkickr/setlist.rb
songkickr-0.3.1 lib/songkickr/setlist.rb
songkickr-0.3.0 lib/songkickr/setlist.rb
songkickr-0.2.2 lib/songkickr/setlist.rb
songkickr-0.2.1 lib/songkickr/setlist.rb
songkickr-0.2.0 lib/songkickr/setlist.rb