class Troo::Presenters::Board

Attributes

board[R]

Public Class Methods

all(boards, options = {}) click to toggle source

@param [Array] @param [Hash] @return [NilClass]

# File lib/troo/presenters/board.rb, line 10
def all(boards, options = {})
  boards.map { |board| new(board, options).show }
  nil
end
new(board, options = {}) click to toggle source

@param [Troo::Board] @param [Hash] @return [Troo::Presenters::Board]

# File lib/troo/presenters/board.rb, line 19
def initialize(board, options = {})
  @board, @options = board, options
end

Public Instance Methods

render_lists() click to toggle source

@return []

# File lib/troo/presenters/board.rb, line 39
def render_lists
  output.spacer

  board.lists.map do |list|
    Presenters::List.new(list, output: output).render_list
  end

  nil
end
show() click to toggle source

@return []

# File lib/troo/presenters/board.rb, line 24
def show
  output.render Presenters::Resource.list_view(board)

  output.indent do
    if board.lists.empty?
      output.spacer do
        output.render error('No lists were found.')
      end
    else
      render_lists
    end
  end
end

Private Instance Methods

defaults() click to toggle source
# File lib/troo/presenters/board.rb, line 61
def defaults
  {
    output: Troo::Output.new
  }
end
options() click to toggle source
# File lib/troo/presenters/board.rb, line 57
def options
  defaults.merge!(@options)
end
output() click to toggle source
# File lib/troo/presenters/board.rb, line 53
def output
  @output ||= options.fetch(:output)
end