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
search(regexp)
click to toggle source
# File lib/curse_client/cli.rb, line 15 def search(regexp) client.modpacks. select { |m| m[:name] =~ /#{regexp}/i }. each { |m| puts simple_description(m) } 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