lib/turntabler/song.rb
def snag
      assert_current_song
      sh = digest(rand)
      api('snag.add',
        :djid => room.current_dj.id,
        :songid => id,
        :roomid => room.id,
        :section => room.section,
        :site => 'queue',
        :location => 'board',
        :in_queue => 'false',
        :blocked => 'false',
        :vh => digest([client.user.id, room.current_dj.id, id, room.id, 'queue', 'board', 'false', 'false', sh] * '/'),
        :sh => sh,
        :fh => digest(rand)
      )
      true
    end
def snag
      assert_current_song
      sh = digest(rand)
      api('snag.add',
        :djid => room.current_dj.id,
        :songid => id,
        :roomid => room.id,
        :section => room.section,
        :site => 'queue',
        :location => 'board',
        :in_queue => 'false',
        :blocked => 'false',
        :vh => digest([client.user.id, room.current_dj.id, id, room.id, 'queue', 'board', 'false', 'false', sh] * '/'),
        :sh => sh,
        :fh => digest(rand)
      )
      true
    end
Triggers the heart animation for the song.

 @note This will not add the song to the user's playlist
 @return [true]
 @raise [Turntabler::Error] if the command fails
 @raise [Turntabler::Error] if the song is not playing in the current song
 @example
   song.snag   # => true