Sha256: 57fc649fa7811226f8645d7cacb5504fbf392695ba51211543da8f47dadbb45e
Contents?: true
Size: 1.28 KB
Versions: 3
Compression:
Stored size: 1.28 KB
Contents
# -*- coding: utf-8 -*- module GrooveDl # Downloader Class class Displayer attr_reader :result, :type ## # Initialize Displayer # # @param [Array] result The result from the search # @param [String] type The search type # # @return [Nil] # def initialize(result, type) @result = result @type = type end ## # Display prompt to choose songs or playlists. # def render table = Terminal::Table.new(headings: headers, title: @type) @result.each do |data| add_row(table, data) end puts table.to_s end def headers return %w(Id Album Artist Song) if @type == 'Songs' return %w(Id Name Author NumSongs) if @type == 'Playlists' end ## # Add row into table # # @param [Terminal::Table] table Table in which row will be added # @param [Array] result The result from the search # # @return [Nil] # def add_row(table, data) table.add_row([data.id, data.name, data.username, data.num_songs]) if @type == 'Playlists' table.add_row([data.id, data.album, data.artist, data.name]) if @type == 'Songs' end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
groove-dl-0.4.0 | lib/groove-dl/displayer.rb |
groove-dl-0.3.1 | lib/groove-dl/displayer.rb |
groove-dl-0.3.0 | lib/groove-dl/displayer.rb |