podrpt 3.0.0 → 4.0.0
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 +4 -4
- data/CHANGELOG.md +4 -4
- data/README.md +1 -1
- data/lib/podrpt/cli.rb +10 -0
- data/lib/podrpt/slack_notifier.rb +39 -0
- data/lib/podrpt/version.rb +1 -1
- data/lib/podrpt.rb +1 -0
- data/podrpt-1.0.2.gem +0 -0
- data/podrpt-2.0.0.gem +0 -0
- data/podrpt-2.0.1.gem +0 -0
- metadata +4 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 3d87ac654b5ee0f646db908a25e4e094a379558fb5eeb5b9e4c1a19209452298
|
|
4
|
+
data.tar.gz: 11a9d6d7be2358c1d6bd0f6041d5ea5134c2f314f2dc07bd17ec9eab76e0fc17
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 9266deded49289ea16560d5a6a7ae87e3b0b75accd9b97a6d8e99267ab2ede9c51b45e0a8087cc781093708bed9468c063b79ccd903f24f176bfd4b31bb7af10
|
|
7
|
+
data.tar.gz: e8f87696b9e8dc91589f52fff184752e71a5efc474b7d946cf43bd8823c9c5532098907d682c4c7eaa80346ca0cad96f0556d282e19d2efb5d61842ecbcf6f93
|
data/CHANGELOG.md
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
## [Released]
|
|
2
2
|
|
|
3
|
-
## [
|
|
3
|
+
## [4.0.0] - 2025-11-06
|
|
4
4
|
|
|
5
|
-
-
|
|
5
|
+
- remove unnecessary code
|
|
6
6
|
|
|
7
|
-
## [2.0.
|
|
7
|
+
## [2.0.0] - 2025-11-06
|
|
8
8
|
|
|
9
|
-
-
|
|
9
|
+
- new version
|
|
10
10
|
|
|
11
11
|
## [1.0.2] - 2025-09-28
|
|
12
12
|
|
data/README.md
CHANGED
data/lib/podrpt/cli.rb
CHANGED
|
@@ -28,10 +28,12 @@ module Podrpt
|
|
|
28
28
|
if File.exist?(lockfile_path)
|
|
29
29
|
puts "📄 `Podfile.lock` encontrado. Analisando pods para pré-popular os arquivos..."
|
|
30
30
|
begin
|
|
31
|
+
# Analisa o lockfile para obter a lista completa de pods externos
|
|
31
32
|
analyzer = Podrpt::LockfileAnalyzer.new(project_dir)
|
|
32
33
|
all_pods_versions = analyzer.pod_versions
|
|
33
34
|
classified_pods = analyzer.classify_pods
|
|
34
35
|
|
|
36
|
+
# Filtramos apenas para pods que não são de desenvolvimento local
|
|
35
37
|
external_pods_filter = classified_pods[:spec_repo].dup
|
|
36
38
|
external_pods_filter -= classified_pods[:dev_path]
|
|
37
39
|
|
|
@@ -45,12 +47,18 @@ module Podrpt
|
|
|
45
47
|
puts "⚠️ `Podfile.lock` não encontrado. Os arquivos serão criados com exemplos."
|
|
46
48
|
end
|
|
47
49
|
|
|
50
|
+
# Cria os arquivos de configuração, passando a lista de pods encontrados
|
|
48
51
|
Podrpt::Configuration.create_allowlist_file(pod_names: pod_names_to_configure)
|
|
49
52
|
Podrpt::Configuration.create_risk_file(pod_names: pod_names_to_configure)
|
|
50
53
|
|
|
54
|
+
puts "\nAgora, por favor, informe a URL do seu Incoming Webhook do Slack:"
|
|
55
|
+
print "> "
|
|
56
|
+
url = $stdin.gets.chomp
|
|
57
|
+
Podrpt::Configuration.save_slack_url(url)
|
|
51
58
|
puts "\nConfiguração concluída! Edite os arquivos .yaml conforme necessário e execute 'podrpt run'."
|
|
52
59
|
end
|
|
53
60
|
|
|
61
|
+
# O método `run_reporter` e seus auxiliares permanecem os mesmos da última versão funcional
|
|
54
62
|
def self.run_reporter(args)
|
|
55
63
|
options = parse_run_options(args)
|
|
56
64
|
analyzer = Podrpt::LockfileAnalyzer.new(options.project_dir)
|
|
@@ -86,6 +94,8 @@ module Podrpt
|
|
|
86
94
|
|
|
87
95
|
reporter = Podrpt::ReportGenerator.new(final_analysis, options)
|
|
88
96
|
report_text = reporter.build_report_text
|
|
97
|
+
|
|
98
|
+
Podrpt::SlackNotifier.notify(options.slack_webhook_url, report_text, dry_run: options.dry_run)
|
|
89
99
|
end
|
|
90
100
|
|
|
91
101
|
def self.parse_run_options(args)
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
# lib/podrpt/slack_notifier.rb
|
|
2
|
+
|
|
3
|
+
module Podrpt
|
|
4
|
+
class SlackNotifier
|
|
5
|
+
def self.notify(webhook_url, report_text, dry_run: false)
|
|
6
|
+
if dry_run
|
|
7
|
+
puts "\n--- SLACK NOTIFICATION DRY RUN ---"
|
|
8
|
+
puts "Target URL: #{webhook_url || 'Nenhuma URL fornecida'}"
|
|
9
|
+
puts "--- Payload ---"
|
|
10
|
+
puts report_text
|
|
11
|
+
puts "----------------------------------"
|
|
12
|
+
puts "Dry run completed. No notification was sent."
|
|
13
|
+
return
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
unless webhook_url && !webhook_url.empty?
|
|
17
|
+
puts "ERRO: Slack URL not provided. Logging out."
|
|
18
|
+
exit 1
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
puts "Sending report to Slack..."
|
|
22
|
+
headers = { 'Content-Type' => 'application/json' }
|
|
23
|
+
payload = { text: "```\n#{report_text}\n```" }.to_json
|
|
24
|
+
|
|
25
|
+
begin
|
|
26
|
+
response = HTTParty.post(webhook_url, body: payload, headers: headers)
|
|
27
|
+
if response.success?
|
|
28
|
+
puts "Report sent successfully!"
|
|
29
|
+
else
|
|
30
|
+
puts "ERROR sending to Slack. Status: #{response.code}, Response: #{response.body}"
|
|
31
|
+
exit 1
|
|
32
|
+
end
|
|
33
|
+
rescue => e
|
|
34
|
+
puts "Connection ERROR when sending to Slack: #{e.message}"
|
|
35
|
+
exit 1
|
|
36
|
+
end
|
|
37
|
+
end
|
|
38
|
+
end
|
|
39
|
+
end
|
data/lib/podrpt/version.rb
CHANGED
data/lib/podrpt.rb
CHANGED
data/podrpt-1.0.2.gem
ADDED
|
Binary file
|
data/podrpt-2.0.0.gem
ADDED
|
Binary file
|
data/podrpt-2.0.1.gem
CHANGED
|
Binary file
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: podrpt
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version:
|
|
4
|
+
version: 4.0.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Andrew Alves
|
|
@@ -88,9 +88,12 @@ files:
|
|
|
88
88
|
- lib/podrpt/lockfile_analyzer.rb
|
|
89
89
|
- lib/podrpt/models.rb
|
|
90
90
|
- lib/podrpt/report_generator.rb
|
|
91
|
+
- lib/podrpt/slack_notifier.rb
|
|
91
92
|
- lib/podrpt/version.rb
|
|
92
93
|
- lib/podrpt/version_comparer.rb
|
|
93
94
|
- lib/podrpt/version_fetcher.rb
|
|
95
|
+
- podrpt-1.0.2.gem
|
|
96
|
+
- podrpt-2.0.0.gem
|
|
94
97
|
- podrpt-2.0.1.gem
|
|
95
98
|
- sig/podrpt.rbs
|
|
96
99
|
homepage: https://github.com/swiftdrew/podrpt
|