lib/pbmenv.rb in pbmenv-0.1.8 vs lib/pbmenv.rb in pbmenv-0.1.9

- old
+ new

@@ -16,11 +16,11 @@ def self.versions Pbmenv::PBM.new.versions.map { |name| Pathname.new(name).basename.to_s =~ /^v([\d.]+)/ && $1 }.compact.sort_by {|x| Gem::Version.new(x) }.compact end - def self.install(version) + def self.install(version, use_option: false, enable_pbm_cloud: false) raise "Need a version" if version.nil? if version == 'latest' version = available_versions.first end @@ -31,10 +31,18 @@ download_src(version) system_and_puts <<~SHELL mkdir -p #{PBM_DIR}/v#{version} && cp -r procon_bypass_man-#{version}/project_template/* #{PBM_DIR}/v#{version}/ SHELL + if enable_pbm_cloud + text = File.read("#{PBM_DIR}/v#{version}/app.rb") + if text =~ /config\.api_servers\s+=\s+\['(https:\/\/.+)'\]/ && (url = $1) + text.gsub!(/#\s+config\.api_servers\s+=\s+.+$/, "config.api_servers = '#{url}'") + end + File.write("#{PBM_DIR}/v#{version}/app.rb", text) + end + unless File.exists?("#{PBM_DIR}/shared") system_and_puts <<~SHELL mkdir -p #{PBM_DIR}/shared SHELL end @@ -46,10 +54,10 @@ system_and_puts <<~SHELL ln -s #{PBM_DIR}/shared/device_id #{PBM_DIR}/v#{version}/device_id SHELL # 初回だけinstall時にcurrentを作成する - if not File.exists?("#{PBM_DIR}/current") + if !File.exists?("#{PBM_DIR}/current") || use_option use(version) end rescue => e system_and_puts "rm -rf #{PBM_DIR}/v#{version}" raise