Sha256: 534de61cfc1b5ab0dc268175a6d5752caceb8ee1807d81464b888af5d8937b52
Contents?: true
Size: 1.97 KB
Versions: 21
Compression:
Stored size: 1.97 KB
Contents
#!/usr/bin/env ruby # encoding: utf-8 # http://doc.ruby-lang.org/ja/1.9.3/library/optparse.html # http://qiita.com/torshinor/items/499beaba89eb09df80d5 require 'optparse' url = ARGV.detect{|s| s !~ /\A\-/} ARGV.delete(url) default_options = { "platform" => "fontana" } banner = "%s URL [options]" % File.basename(__FILE__) parser = OptionParser.new(banner) do |opt| opt.on '-i', '--player-id PLAYER_ID' opt.on '-p', "--platform #{default_options[:platform]}" opt.on '-c', '--consumer-secret CONSUMER_SECRET' opt.on '-a', '--app-garden-file PATH_TO_APP_GARDEN_FILE' opt.on '-D', '--ssl-disabled' opt.on '-I', '--ignore-signature-key' end unless url puts parser.help exit(1) end options = default_options.merge(parser.getopts(ARGV)) options = options.each_with_object({}){|(k,v), d| d[k.gsub(/-/, '_').to_sym] = v} $LOAD_PATH << File.expand_path("../../lib") require 'libgss' if app_garden_path = options.delete(:app_garden_file) Fontana = Libgss::Fontana # ERBを展開する際にFontana.envなどが指定されていた場合に期待する動作をするように別名で定義します。 require 'tengine/support/yaml_with_erb' c = YAML.load_file(app_garden_path) options[:platform] = (c["platform"] ? c["platform"]["name"] : nil) || "fontana" options[:consumer_secret] = c["consumer_secret"] end begin network = Libgss::Network.new(url, options) options = options.dup options[:consumer_secret] = "<<MASKED>>" if options[:consumer_secret] puts "login on #{url} with #{options.inspect}" unless network.login puts "\e[31mLogin FAILURE!\e[0m" exit!(1) end puts "Login success" puts "player_id: #{network.player_id}" req = network.new_action_request req.server_time req.send_request res = req.outputs.first raise "req.outputs is empty: #{req.outputs}" unless res puts "server_time: " << Time.at(res["result"]).iso8601 puts "\e[32mSUCCESS!!\e[0m" rescue => e puts "\e[31m[#{e.class}] #{e.message}\e[0m\n " << e.backtrace.join("\n ") end
Version data entries
21 entries across 21 versions & 1 rubygems