fastlane-plugin-ftps 0.1.6 → 0.1.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 6b11bda26fed09c7a93d47d6e8795385e30a351b6254e16f6cb4a69d448d4fa8
4
- data.tar.gz: de554e9a9d78214a1003b1f73c43a7cb9bc1049a5fca320495ebed5f8b33ad1d
3
+ metadata.gz: baaac21db44b43eaeaf561ca061e7423da1e63c3b153a99c0bd3c661b73b389b
4
+ data.tar.gz: a6de8796fe7d6c6af4cabf87e6a5e6baa214de4e130e9b4c1061ad0f5e95e9d0
5
5
  SHA512:
6
- metadata.gz: 3f6939a15df730b4de050c686560a2d5eba3bcaabdccba7f81dab355d8e847c46811322297d86fae68551965ed2d37f5bf3a9daf8427b2698f903bfa37989138
7
- data.tar.gz: 873e4970cad41e3c05034f19fbbfc3e7e8889817caa92d5ec2165d9ead4518cb4fdbccdad4c1916f7e624a5664ce98ec9944ee35d8b06b84e20cd9b7775fdef7
6
+ metadata.gz: 24c63b1c11fe961d0c21658927076469156115a7680079678ed275f2982cf26c8416bc8379020e018975740194855528d0a1c7506740371b658ad24fa1227306
7
+ data.tar.gz: 5ba22ba713be24a96d3b22bc93b4fe6dc11cfe88fa6f6b1bb1154b44ae5e243d7b53f1df76d49fd88915108aef0658527239f08df5653df3c41632de24a0c726
@@ -11,11 +11,23 @@ module Fastlane
11
11
  FtpsAction.put(params)
12
12
  end
13
13
 
14
+ if params[:upload_multiple]
15
+ FtpsAction.open(params, params[:upload][:dest])
16
+ FtpsAction.put(params)
17
+ end
18
+
14
19
  if params[:download]
15
20
  FtpsAction.get(params)
16
21
  end
17
22
  end
18
23
 
24
+ def self.connect_ftp(params)
25
+ ftp = connect_ftp(params)
26
+ ensure_remote_path(ftp, folder)
27
+ ftp.close
28
+ end
29
+
30
+
19
31
  def self.open(params, folder)
20
32
  ftp = Net::FTP.new(params[:host], params[:options])
21
33
  ftp.connect(params[:host], params[:port])
@@ -38,11 +50,7 @@ module Fastlane
38
50
  end
39
51
 
40
52
  def self.put(params)
41
- ftp = Net::FTP.new(params[:host], params[:options])
42
- progressbar = ProgressBar.create(:format => '%a |%b>>%i| %p%% %t', :starting_at => 0)
43
- ftp.connect(params[:host], params[:port])
44
- ftp.login(params[:username], params[:password])
45
- ftp.passive = true
53
+ ftp = connect_ftp(params)
46
54
  ftp.chdir(params[:upload][:dest])
47
55
  filesize = File.size(params[:upload][:src])
48
56
  progressbar.total = filesize
@@ -65,6 +73,49 @@ module Fastlane
65
73
  UI.success("Successfully download #{params[:download][:dest]}")
66
74
  end
67
75
 
76
+ def self.upload_multiple(params, file_paths)
77
+ ftp = connect_ftp(params)
78
+
79
+ # Upewniamy się, że ścieżka (folder) do której wgrywamy istnieje.
80
+ ensure_remote_path(ftp, params[:upload][:dest])
81
+ ftp.chdir(params[:upload][:dest])
82
+
83
+ total_size = file_paths.reduce(0) { |sum, file_path| sum + File.size(file_path) }
84
+ progressbar = ProgressBar.create(
85
+ format: '%a |%b>>%i| %p%% %t',
86
+ total: total_size,
87
+ starting_at: 0
88
+ )
89
+
90
+ file_paths.each do |local_file|
91
+ filename = File.basename(local_file)
92
+ ftp.putbinaryfile(local_file, filename) do |data|
93
+ progressbar.progress += data.size
94
+ end
95
+ UI.message("Uploaded: #{filename}")
96
+ end
97
+
98
+ ftp.close
99
+ UI.success("Successfully uploaded all files to #{params[:upload][:dest]}")
100
+ end
101
+
102
+ def ensure_remote_path(ftp, folder)
103
+ parts = folder.split('/')
104
+ current_path = ''
105
+ parts.each do |part|
106
+ # Pomijamy puste elementy (np. jeśli folder zaczyna się od '/')
107
+ next if part.empty?
108
+
109
+ current_path = "#{current_path}/#{part}"
110
+ begin
111
+ ftp.chdir(current_path)
112
+ rescue Net::FTPPermError
113
+ ftp.mkdir(part)
114
+ ftp.chdir(current_path)
115
+ end
116
+ end
117
+ end
118
+
68
119
  #####################################################
69
120
  # @!group Documentation
70
121
  #####################################################
@@ -1,5 +1,5 @@
1
1
  module Fastlane
2
2
  module Ftps
3
- VERSION = "0.1.6"
3
+ VERSION = "0.1.8"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fastlane-plugin-ftps
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.6
4
+ version: 0.1.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Rafał Dziuryk
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-01-04 00:00:00.000000000 Z
11
+ date: 2025-02-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: ruby-progressbar
@@ -108,7 +108,7 @@ dependencies:
108
108
  - - ">="
109
109
  - !ruby/object:Gem::Version
110
110
  version: 2.2.0
111
- description:
111
+ description:
112
112
  email: rafal.dziuryk@appvinio.com
113
113
  executables: []
114
114
  extensions: []
@@ -124,7 +124,7 @@ homepage: https://github.com/rafaldziuryk/fastlane-ftps-plugin
124
124
  licenses:
125
125
  - MIT
126
126
  metadata: {}
127
- post_install_message:
127
+ post_install_message:
128
128
  rdoc_options: []
129
129
  require_paths:
130
130
  - lib
@@ -139,8 +139,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
139
139
  - !ruby/object:Gem::Version
140
140
  version: '0'
141
141
  requirements: []
142
- rubygems_version: 3.0.3.1
143
- signing_key:
142
+ rubygems_version: 3.4.10
143
+ signing_key:
144
144
  specification_version: 4
145
145
  summary: Simple ftp upload and download for Fastlane
146
146
  test_files: []