class CurseClient::CLI

Public Instance Methods

install(modpack_name, path = modpack_name) click to toggle source
# File lib/curse_client/cli.rb, line 45
def install(modpack_name, path = modpack_name)
  modpack = client.find_by_name(modpack_name)
  if modpack
    client.install(modpack, path, options[:version])
  else
    puts "Cannot find modpack #{modpack_name}"
  end
end
list() click to toggle source
# File lib/curse_client/cli.rb, line 8
def list
  client.modpacks.each do |modpack|
    puts simple_description(modpack)
  end
end
show(modpack_name) click to toggle source
# File lib/curse_client/cli.rb, line 22
def show(modpack_name)
  modpack = client.find_by_name(modpack_name)

  if modpack
    puts modpack[:name]
    puts "Summary: #{modpack[:summary]}"
    puts "Authors: #{modpack[:authors].map{|a| a[:name]}.join(", ")}"
    puts "Url: #{modpack[:web_site_url]}"
    puts "Categories: #{modpack[:categories].map{|c| c[:name]}.join(", ")}"
    puts "Downloads: #{modpack[:download_count]}"
    puts "Popularity: #{modpack[:popularity_score]}"
    puts "Files:"
    client.addon_files(modpack[:id]).each do |f|
      puts "   #{f[:id]}    #{f[:file_date]}    #{f[:game_version].first}    #{f[:file_name]} (#{f[:release_type]})"
    end
  else
    puts "Cannot find modpack #{modpack_name}"
  end
end

Private Instance Methods

client() click to toggle source
# File lib/curse_client/cli.rb, line 60
def client
  @client ||= CurseClient::Client.new
end
simple_description(modpack) click to toggle source
# File lib/curse_client/cli.rb, line 56
def simple_description(modpack)
  "#{modpack[:name]}: #{modpack[:summary]}"
end