class TrelloDXY::CLI::Board::Time
Public Class Methods
new()
click to toggle source
# File lib/trello_dxy/cli/board/time.rb, line 5 def initialize @options = {} end
Public Instance Methods
run()
click to toggle source
# File lib/trello_dxy/cli/board/time.rb, line 9 def run option_parser.parse! required_options board = TrelloDXY::Requests::BoardForUrl.new.board(@options[:url]) cards = board_cards(board, @options[:closed]) puts TrelloDXY::Formatters::BoardForUrl.new(cards).output @options[:output] end
Private Instance Methods
board_cards(board, include_closed)
click to toggle source
# File lib/trello_dxy/cli/board/time.rb, line 19 def board_cards(board, include_closed) board.cards.select do |c| closed = c.closed !closed || (closed && include_closed) end end
help()
click to toggle source
# File lib/trello_dxy/cli/board/time.rb, line 51 def help puts option_parser.help end
option_parser(options=@options)
click to toggle source
# File lib/trello_dxy/cli/board/time.rb, line 26 def option_parser(options=@options) OptionParser.new do |opts| opts.banner = "Usage: trello_dxy board [time]" opts.on("-u", "--url [URL]", "URL of Trello Board." ) do |o| @options[:url] = o end opts.on("-c", "--closed", "Include closed cards." ) do |o| @options[:closed] = o end opts.on("-o", "--output [OUTPUT]", "Output format [json|csv].") do |o| @options[:output] = o end end end
required_options()
click to toggle source
# File lib/trello_dxy/cli/board/time.rb, line 41 def required_options mandatory = [:url] missing = mandatory.select { |param| @options[param].nil? } unless missing.empty? puts "Missing options: #{missing.join(', ')}" puts option_parser exit 1 end end