class Raketary::NokogiriCmd

@author Jonathan Bradley Whited @since 0.1.0

Public Class Methods

new(*) click to toggle source
Calls superclass method Raketary::Cmd::new
# File lib/raketary/nokogiri_cmd.rb, line 23
def initialize(*)
  super

  @main_opts = 0

  parse! do |op|
    op.on('-a','--apt','install Nokogiri libs for Ubuntu/Debian') do
      @main_opts += 1
      true
    end
    op.on('-d','--dnf','install Nokogiri libs for Fedora/CentOS/Red Hat') do
      @main_opts += 1
      true
    end
    op.on('-o','--other','install Nokogiri libs for other OSes') do
      @main_opts += 1
      true
    end
    op.separator op.summary_indent
  end
end

Public Instance Methods

run() click to toggle source
Calls superclass method Raketary::Cmd#run
# File lib/raketary/nokogiri_cmd.rb, line 45
def run
  super()
  return if @main_opts <= 0

  if @main_opts >= 2
    raise DoNotRunCmdError,'Please choose only one platform to install the libs for.'
  end

  install_task = nil

  if app.options[:apt]
    install_task = Raketeer::NokogiriAPTTask.new
  elsif app.options[:dnf]
    install_task = Raketeer::NokogiriDNFTask.new
  elsif app.options[:other]
    install_task = Raketeer::NokogiriOtherTask.new
  end

  if !install_task.nil?
    install_task.run(install_task,nil)

    app.ran_cmd = true
  end
end