class Mcalendar::Command

Public Class Methods

new(argv) click to toggle source
# File lib/mcalendar/command.rb, line 9
def initialize(argv)
  @argv = argv
end
run(argv) click to toggle source
# File lib/mcalendar/command.rb, line 5
def self.run(argv)
  new(argv).execute
end

Public Instance Methods

execute() click to toggle source
# File lib/mcalendar/command.rb, line 29
def execute
  options = Mcalendar::Options.parse(@argv)
  date = options[:date]
  console = options[:opt][:console]
  pdf = options[:opt][:pdf]
  @pdf_name = options[:opt][:name]
  version = options[:opt][:version]
  @calendar = Mcalendar::Calendar.new(date.year, date.month)
  @outputpdf = Mcalendar::OutputPdf.new(@calendar)

  # output calendar
  output_console if console
  output_pdf if pdf


  # both outputs if no options
  if console.nil? && pdf.nil? && version.nil?
    output_console
    output_pdf
  end
end
output_console() click to toggle source
# File lib/mcalendar/command.rb, line 13
def output_console
  puts @calendar.to_s
end
output_pdf() click to toggle source
# File lib/mcalendar/command.rb, line 17
def output_pdf
  @outputpdf.render_file(pdf_filename)
end
pdf_filename() click to toggle source
# File lib/mcalendar/command.rb, line 21
def pdf_filename
  if  @pdf_name.nil? || @pdf_name.empty?
    Mcalendar::DEFAULT_PDF_NAME
  else
    @pdf_name = @pdf_name.downcase.end_with?(".pdf")? @pdf_name : @pdf_name + ".pdf"
  end
end