Class: Lexicon::Cli::Command::RemoteCommand
Instance Method Summary
collapse
#initialize
Instance Method Details
#delete(version) ⇒ Object
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
|
# File 'lib/lexicon/cli/command/remote_command.rb', line 30
def delete(version)
s3 = get(Lexicon::Common::Remote::S3Client)
semver = Semantic::Version.new(version) rescue nil
if semver.nil?
puts "[ NOK ] #{version} is not a valid version.".red
else
bucket = semver.to_s
if s3.bucket_exist?(bucket)
s3.ls(bucket)
.each { |content| s3.raw.delete_object(bucket: bucket, key: content.fetch(:key)) }
s3.raw.delete_bucket(bucket: bucket)
puts "[ OK ] The version #{semver} has been deleted from the server".green
else
puts "[ NOK ] The version #{semver} does not exist on the server".red
end
end
end
|
#download(version) ⇒ Object
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
|
# File 'lib/lexicon/cli/command/remote_command.rb', line 55
def download(version)
downloader = get(Lexicon::Common::Remote::PackageDownloader)
loader = get(Lexicon::Common::Package::DirectoryPackageLoader)
semver = Semantic::Version.new(version) rescue nil
if semver.nil?
puts "[ NOK ] #{version} is not a valid version.".red
elsif !loader.load_package(semver.to_s).nil?
puts "[ NOK ] You already have the version #{semver} locally.".red
elsif downloader.download(semver)
puts "[ OK ] The version #{semver} has been downloaded."
else
puts '[ NOK ] Error while downloading.'.red
end
end
|
#upload(version) ⇒ Object
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
# File 'lib/lexicon/cli/command/remote_command.rb', line 9
def upload(version)
uploader = get(Lexicon::Common::Remote::PackageUploader)
loader = get(Lexicon::Common::Package::DirectoryPackageLoader)
semver = Semantic::Version.new(version) rescue nil
if semver.nil?
puts "[ NOK ] #{version} is not a valid version.".red
elsif (package = loader.load_package(semver.to_s)).nil?
puts "[ NOK ] No package found for version #{semver}.".red
elsif uploader.upload(package)
puts "[ OK ] Version #{semver} uploaded.".green
else
puts '[ NOK ] Error while uploading.'.red
end
end
|