Class: Dependabot::MetadataFinders::Base::ChangelogFinder
- Inherits:
-
Object
- Object
- Dependabot::MetadataFinders::Base::ChangelogFinder
- Defined in:
- lib/dependabot/metadata_finders/base/changelog_finder.rb
Constant Summary collapse
- CHANGELOG_NAMES =
Earlier entries are preferred
%w(changelog history news changes release).freeze
Instance Attribute Summary collapse
-
#credentials ⇒ Object
readonly
Returns the value of attribute credentials.
-
#dependency ⇒ Object
readonly
Returns the value of attribute dependency.
-
#source ⇒ Object
readonly
Returns the value of attribute source.
-
#suggested_changelog_url ⇒ Object
readonly
Returns the value of attribute suggested_changelog_url.
Instance Method Summary collapse
- #changelog_text ⇒ Object
- #changelog_url ⇒ Object
-
#initialize(source:, dependency:, credentials:, suggested_changelog_url: nil) ⇒ ChangelogFinder
constructor
A new instance of ChangelogFinder.
- #upgrade_guide_text ⇒ Object
- #upgrade_guide_url ⇒ Object
Constructor Details
#initialize(source:, dependency:, credentials:, suggested_changelog_url: nil) ⇒ ChangelogFinder
Returns a new instance of ChangelogFinder.
25 26 27 28 29 30 31 |
# File 'lib/dependabot/metadata_finders/base/changelog_finder.rb', line 25 def initialize(source:, dependency:, credentials:, suggested_changelog_url: nil) @source = source @dependency = dependency @credentials = credentials @suggested_changelog_url = suggested_changelog_url end |
Instance Attribute Details
#credentials ⇒ Object (readonly)
Returns the value of attribute credentials.
23 24 25 |
# File 'lib/dependabot/metadata_finders/base/changelog_finder.rb', line 23 def credentials @credentials end |
#dependency ⇒ Object (readonly)
Returns the value of attribute dependency.
23 24 25 |
# File 'lib/dependabot/metadata_finders/base/changelog_finder.rb', line 23 def dependency @dependency end |
#source ⇒ Object (readonly)
Returns the value of attribute source.
23 24 25 |
# File 'lib/dependabot/metadata_finders/base/changelog_finder.rb', line 23 def source @source end |
#suggested_changelog_url ⇒ Object (readonly)
Returns the value of attribute suggested_changelog_url.
23 24 25 |
# File 'lib/dependabot/metadata_finders/base/changelog_finder.rb', line 23 def suggested_changelog_url @suggested_changelog_url end |
Instance Method Details
#changelog_text ⇒ Object
37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 |
# File 'lib/dependabot/metadata_finders/base/changelog_finder.rb', line 37 def changelog_text return unless full_changelog_text pruned_text = ChangelogPruner.new( dependency: dependency, changelog_text: full_changelog_text ).pruned_text return pruned_text unless changelog.name.end_with?(".rst") begin PandocRuby.convert( pruned_text, from: :rst, to: :markdown, wrap: :none, timeout: 10 ) rescue Errno::ENOENT => e raise unless e. == "No such file or directory - pandoc" # If pandoc isn't installed just return the rst pruned_text rescue RuntimeError => e raise unless e..include?("Pandoc timed out") pruned_text end end |
#changelog_url ⇒ Object
33 34 35 |
# File 'lib/dependabot/metadata_finders/base/changelog_finder.rb', line 33 def changelog_url changelog&.html_url end |
#upgrade_guide_text ⇒ Object
71 72 73 74 75 |
# File 'lib/dependabot/metadata_finders/base/changelog_finder.rb', line 71 def upgrade_guide_text return unless upgrade_guide @upgrade_guide_text ||= fetch_file_text(upgrade_guide) end |
#upgrade_guide_url ⇒ Object
67 68 69 |
# File 'lib/dependabot/metadata_finders/base/changelog_finder.rb', line 67 def upgrade_guide_url upgrade_guide&.html_url end |