Module: StillActive::VersionHelper
Instance Method Summary collapse
- #find_version(versions:, version_string: nil, pre_release: false) ⇒ Object
- #gem_version(version_hash:) ⇒ Object
-
#license(version_hash:) ⇒ Object
SPDX license identifier(s) from the RubyGems versions payload.
- #release_date(version_hash:) ⇒ Object
- #up_to_date(version_used:, latest_version: nil, latest_pre_release_version: nil) ⇒ Object
Instance Method Details
#find_version(versions:, version_string: nil, pre_release: false) ⇒ Object
9 10 11 12 13 14 15 16 17 |
# File 'lib/helpers/version_helper.rb', line 9 def find_version(versions:, version_string: nil, pre_release: false) if version_string && pre_release versions&.find { |v| v["number"] == version_string && v["prerelease"] == pre_release } elsif !version_string.nil? versions&.find { |v| v["number"] == version_string } else versions&.find { |v| v["prerelease"] == pre_release } end end |
#gem_version(version_hash:) ⇒ Object
31 32 33 |
# File 'lib/helpers/version_helper.rb', line 31 def gem_version(version_hash:) version_hash&.dig("number") end |
#license(version_hash:) ⇒ Object
SPDX license identifier(s) from the RubyGems versions payload. Comma-joined when a gem declares more than one. nil when unknown.
43 44 45 46 47 48 |
# File 'lib/helpers/version_helper.rb', line 43 def license(version_hash:) licenses = version_hash&.dig("licenses") return if licenses.nil? || licenses.empty? licenses.join(", ") end |
#release_date(version_hash:) ⇒ Object
35 36 37 38 39 |
# File 'lib/helpers/version_helper.rb', line 35 def release_date(version_hash:) release_date = version_hash&.dig("created_at") Time.parse(release_date) unless release_date.nil? end |
#up_to_date(version_used:, latest_version: nil, latest_pre_release_version: nil) ⇒ Object
19 20 21 22 23 24 25 26 27 28 29 |
# File 'lib/helpers/version_helper.rb', line 19 def up_to_date(version_used:, latest_version: nil, latest_pre_release_version: nil) return if latest_version.nil? && latest_pre_release_version.nil? used = to_gem_version(version_used) return if used.nil? [latest_version, latest_pre_release_version] .compact .filter_map { |v| to_gem_version(v) } .any? { |v| used >= v } end |