stackharbinger 0.3.0 → 0.4.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.
@@ -0,0 +1,36 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "csv"
4
+ require_relative "base_exporter"
5
+
6
+ module Harbinger
7
+ module Exporters
8
+ # Exports project EOL data to CSV format
9
+ class CsvExporter < BaseExporter
10
+ HEADERS = %w[project path component version eol_date days_remaining status overall_status].freeze
11
+
12
+ def export
13
+ projects = build_export_data
14
+
15
+ CSV.generate do |csv|
16
+ csv << HEADERS
17
+
18
+ projects.each do |project|
19
+ project[:components].each do |component|
20
+ csv << [
21
+ project[:name],
22
+ project[:path],
23
+ component[:name],
24
+ component[:version],
25
+ component[:eol_date],
26
+ component[:days_remaining],
27
+ component[:status],
28
+ project[:overall_status]
29
+ ]
30
+ end
31
+ end
32
+ end
33
+ end
34
+ end
35
+ end
36
+ end
@@ -0,0 +1,21 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "json"
4
+ require_relative "base_exporter"
5
+
6
+ module Harbinger
7
+ module Exporters
8
+ # Exports project EOL data to JSON format
9
+ class JsonExporter < BaseExporter
10
+ def export
11
+ projects = build_export_data
12
+
13
+ {
14
+ generated_at: Time.now.iso8601,
15
+ project_count: projects.size,
16
+ projects: projects
17
+ }.to_json
18
+ end
19
+ end
20
+ end
21
+ end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Harbinger
4
- VERSION = "0.3.0"
4
+ VERSION = "0.4.0"
5
5
  end
metadata CHANGED
@@ -1,13 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: stackharbinger
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Rich Dabrowski
8
+ autorequire:
8
9
  bindir: exe
9
10
  cert_chain: []
10
- date: 1980-01-02 00:00:00.000000000 Z
11
+ date: 2026-01-19 00:00:00.000000000 Z
11
12
  dependencies:
12
13
  - !ruby/object:Gem::Dependency
13
14
  name: thor
@@ -96,13 +97,19 @@ files:
96
97
  - exe/harbinger
97
98
  - lib/harbinger.rb
98
99
  - lib/harbinger/analyzers/database_detector.rb
100
+ - lib/harbinger/analyzers/docker_compose_detector.rb
101
+ - lib/harbinger/analyzers/mongo_detector.rb
99
102
  - lib/harbinger/analyzers/mysql_detector.rb
100
103
  - lib/harbinger/analyzers/postgres_detector.rb
101
104
  - lib/harbinger/analyzers/rails_analyzer.rb
105
+ - lib/harbinger/analyzers/redis_detector.rb
102
106
  - lib/harbinger/analyzers/ruby_detector.rb
103
107
  - lib/harbinger/cli.rb
104
108
  - lib/harbinger/config_manager.rb
105
109
  - lib/harbinger/eol_fetcher.rb
110
+ - lib/harbinger/exporters/base_exporter.rb
111
+ - lib/harbinger/exporters/csv_exporter.rb
112
+ - lib/harbinger/exporters/json_exporter.rb
106
113
  - lib/harbinger/version.rb
107
114
  - sig/harbinger.rbs
108
115
  homepage: https://stackharbinger.com
@@ -113,6 +120,7 @@ metadata:
113
120
  homepage_uri: https://stackharbinger.com
114
121
  source_code_uri: https://github.com/RichD/harbinger
115
122
  changelog_uri: https://github.com/RichD/harbinger/blob/main/CHANGELOG.md
123
+ post_install_message:
116
124
  rdoc_options: []
117
125
  require_paths:
118
126
  - lib
@@ -127,7 +135,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
127
135
  - !ruby/object:Gem::Version
128
136
  version: '0'
129
137
  requirements: []
130
- rubygems_version: 3.7.2
138
+ rubygems_version: 3.5.14
139
+ signing_key:
131
140
  specification_version: 4
132
141
  summary: Track End-of-Life dates for your tech stack and stay ahead of deprecations
133
142
  test_files: []