class SC2Cli::Subcommands::Ladder
Public Class Methods
new(configuration:, options:)
click to toggle source
# File lib/sc2cli/subcommands/ladder.rb, line 48 def initialize(configuration:, options:) @configuration = configuration id = nil name = nil region = nil OptionParser.new do |opts| opts.banner = "Usage: #{$0} #{self.class.name.split("::").last.downcase} [options]" opts.on("-h", "--help", "Prints this help") do @@console.info(opts) exit end opts.on("-i", "--id ID", Integer, "Player profile ID.") do |value| id = value end opts.on("-n", "--name NAME", String, "Player name. Must exist in names file.") do |value| name = value end opts.on("-r", "--region REGION", String, "Region name, such as 'eu' or 'us'. Use configuration region by default.") do |value| region = Shared::Region.new(name: value) end end.parse! if name.kind_of?(String) then name = Shared::Names.new(configuration: @configuration, name: name) id = name.id region ||= name.region end region ||= @configuration.region @@console.fatal("Player profile ID or name must be specified!") unless id.kind_of?(Integer) @id = id @region = region end
Public Instance Methods
run()
click to toggle source
# File lib/sc2cli/subcommands/ladder.rb, line 92 def run @@console.info("Finding ladder summary:") @@console.info(" - ID : #{@id.to_s}") @@console.info(" - Region: #{@region.description}") path = "#{@@prefix}/#{@region.id.to_s}/#{@region.realm.to_s}/#{@id.to_s}#{@@suffix}" api = Shared::Api.new(configuration: @configuration, region: @region) result = api.get(path: path) ladders = LadderShared::LadderSummary.new(json: result, api: api, player: @id) @@console.info(ladders.to_s) end