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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: '0481cdc96252465b7b0190b78eb1b46537830c9f0a9a8b77b938b866e88dcccc'
4
- data.tar.gz: cf6ff1c1f777cb374d383f186b449cc0c1827674d7abe2e1b919a4cae02fb361
3
+ metadata.gz: 3d87ac654b5ee0f646db908a25e4e094a379558fb5eeb5b9e4c1a19209452298
4
+ data.tar.gz: 11a9d6d7be2358c1d6bd0f6041d5ea5134c2f314f2dc07bd17ec9eab76e0fc17
5
5
  SHA512:
6
- metadata.gz: d17894f5551999fdf6bf6d2d9f3962d157ee12797cd8adb2d6370dcfe33286ec57d1af5d5bf7b09a03ae8187651c934a00435927aeb387e4ba8d691efc098359
7
- data.tar.gz: 76526c8a31a6f7d8dfd4e603518d4a30e9d91ed60122f7a698cd78626d9d180609a71ceeb401bdc7100b6b394fe157952f2c76be289c3cf3c68832910ceb575d
6
+ metadata.gz: 9266deded49289ea16560d5a6a7ae87e3b0b75accd9b97a6d8e99267ab2ede9c51b45e0a8087cc781093708bed9468c063b79ccd903f24f176bfd4b31bb7af10
7
+ data.tar.gz: e8f87696b9e8dc91589f52fff184752e71a5efc474b7d946cf43bd8823c9c5532098907d682c4c7eaa80346ca0cad96f0556d282e19d2efb5d61842ecbcf6f93
data/CHANGELOG.md CHANGED
@@ -1,12 +1,12 @@
1
1
  ## [Released]
2
2
 
3
- ## [3.0.0] - 2025-11-06
3
+ ## [4.0.0] - 2025-11-06
4
4
 
5
- - adjusments
5
+ - remove unnecessary code
6
6
 
7
- ## [2.0.1] - 2025-11-06
7
+ ## [2.0.0] - 2025-11-06
8
8
 
9
- - remove unnecessary code
9
+ - new version
10
10
 
11
11
  ## [1.0.2] - 2025-09-28
12
12
 
data/README.md CHANGED
@@ -40,7 +40,7 @@ Follow the three steps below to set up and run Podrpt in your project.
40
40
 
41
41
  Add the gem to your project's `Gemfile`:
42
42
  ```ruby
43
- gem 'podrpt', '~> 1.0.0'
43
+ gem 'podrpt', '~> 4.0.0'
44
44
  ```
45
45
 
46
46
  And then execute:
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
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Podrpt
4
- VERSION = "3.0.0"
4
+ VERSION = "4.0.0"
5
5
  end
data/lib/podrpt.rb CHANGED
@@ -19,4 +19,5 @@ require "podrpt/configuration"
19
19
  require "podrpt/lockfile_analyzer"
20
20
  require "podrpt/version_fetcher"
21
21
  require "podrpt/report_generator"
22
+ require "podrpt/slack_notifier"
22
23
  require "podrpt/cli"
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: 3.0.0
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