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