Class: Dependabot::PullRequestCreator::MessageBuilder
- Inherits:
-
Object
- Object
- Dependabot::PullRequestCreator::MessageBuilder
- Extended by:
- T::Sig
- Defined in:
- lib/dependabot/pull_request_creator/message_builder.rb,
lib/dependabot/pull_request_creator/message_builder/issue_linker.rb,
lib/dependabot/pull_request_creator/message_builder/metadata_presenter.rb,
lib/dependabot/pull_request_creator/message_builder/link_and_mention_sanitizer.rb
Overview
MessageBuilder builds PR message for a dependency update
Defined Under Namespace
Classes: IssueLinker, LinkAndMentionSanitizer, MetadataPresenter
Constant Summary collapse
- TRUNCATED_MSG =
"...\n\n_Description has been truncated_"
Instance Attribute Summary collapse
-
#commit_message_options ⇒ Object
readonly
Returns the value of attribute commit_message_options.
-
#credentials ⇒ Object
readonly
Returns the value of attribute credentials.
-
#dependencies ⇒ Object
readonly
Returns the value of attribute dependencies.
-
#dependency_group ⇒ Object
readonly
Returns the value of attribute dependency_group.
-
#files ⇒ Object
readonly
Returns the value of attribute files.
-
#github_redirection_service ⇒ Object
readonly
Returns the value of attribute github_redirection_service.
-
#ignore_conditions ⇒ Object
readonly
Returns the value of attribute ignore_conditions.
-
#pr_message_encoding ⇒ Object
Returns the value of attribute pr_message_encoding.
-
#pr_message_footer ⇒ Object
readonly
Returns the value of attribute pr_message_footer.
-
#pr_message_header ⇒ Object
readonly
Returns the value of attribute pr_message_header.
-
#pr_message_max_length ⇒ Object
Returns the value of attribute pr_message_max_length.
-
#source ⇒ Object
readonly
Returns the value of attribute source.
-
#vulnerabilities_fixed ⇒ Object
readonly
Returns the value of attribute vulnerabilities_fixed.
Instance Method Summary collapse
- #commit_message ⇒ Object
-
#initialize(source:, dependencies:, files:, credentials:, pr_message_header: nil, pr_message_footer: nil, commit_message_options: {}, vulnerabilities_fixed: {}, github_redirection_service: DEFAULT_GITHUB_REDIRECTION_SERVICE, dependency_group: nil, pr_message_max_length: nil, pr_message_encoding: nil, ignore_conditions: []) ⇒ MessageBuilder
constructor
A new instance of MessageBuilder.
- #message ⇒ Object
- #pr_message ⇒ Object
- #pr_name ⇒ Object
- #truncate_pr_message(msg) ⇒ Object
Constructor Details
#initialize(source:, dependencies:, files:, credentials:, pr_message_header: nil, pr_message_footer: nil, commit_message_options: {}, vulnerabilities_fixed: {}, github_redirection_service: DEFAULT_GITHUB_REDIRECTION_SERVICE, dependency_group: nil, pr_message_max_length: nil, pr_message_encoding: nil, ignore_conditions: []) ⇒ MessageBuilder
Returns a new instance of MessageBuilder.
87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 |
# File 'lib/dependabot/pull_request_creator/message_builder.rb', line 87 def initialize(source:, dependencies:, files:, credentials:, pr_message_header: nil, pr_message_footer: nil, commit_message_options: {}, vulnerabilities_fixed: {}, github_redirection_service: DEFAULT_GITHUB_REDIRECTION_SERVICE, dependency_group: nil, pr_message_max_length: nil, pr_message_encoding: nil, ignore_conditions: []) @dependencies = dependencies @files = files @source = source @credentials = credentials @pr_message_header = @pr_message_footer = @commit_message_options = @vulnerabilities_fixed = vulnerabilities_fixed @github_redirection_service = github_redirection_service @dependency_group = dependency_group @pr_message_max_length = @pr_message_encoding = @ignore_conditions = ignore_conditions end |
Instance Attribute Details
#commit_message_options ⇒ Object (readonly)
Returns the value of attribute commit_message_options.
47 48 49 |
# File 'lib/dependabot/pull_request_creator/message_builder.rb', line 47 def @commit_message_options end |
#credentials ⇒ Object (readonly)
Returns the value of attribute credentials.
38 39 40 |
# File 'lib/dependabot/pull_request_creator/message_builder.rb', line 38 def credentials @credentials end |
#dependencies ⇒ Object (readonly)
Returns the value of attribute dependencies.
32 33 34 |
# File 'lib/dependabot/pull_request_creator/message_builder.rb', line 32 def dependencies @dependencies end |
#dependency_group ⇒ Object (readonly)
Returns the value of attribute dependency_group.
56 57 58 |
# File 'lib/dependabot/pull_request_creator/message_builder.rb', line 56 def dependency_group @dependency_group end |
#files ⇒ Object (readonly)
Returns the value of attribute files.
35 36 37 |
# File 'lib/dependabot/pull_request_creator/message_builder.rb', line 35 def files @files end |
#github_redirection_service ⇒ Object (readonly)
Returns the value of attribute github_redirection_service.
53 54 55 |
# File 'lib/dependabot/pull_request_creator/message_builder.rb', line 53 def github_redirection_service @github_redirection_service end |
#ignore_conditions ⇒ Object (readonly)
Returns the value of attribute ignore_conditions.
65 66 67 |
# File 'lib/dependabot/pull_request_creator/message_builder.rb', line 65 def ignore_conditions @ignore_conditions end |
#pr_message_encoding ⇒ Object
Returns the value of attribute pr_message_encoding.
62 63 64 |
# File 'lib/dependabot/pull_request_creator/message_builder.rb', line 62 def @pr_message_encoding end |
#pr_message_footer ⇒ Object (readonly)
Returns the value of attribute pr_message_footer.
44 45 46 |
# File 'lib/dependabot/pull_request_creator/message_builder.rb', line 44 def @pr_message_footer end |
#pr_message_header ⇒ Object (readonly)
Returns the value of attribute pr_message_header.
41 42 43 |
# File 'lib/dependabot/pull_request_creator/message_builder.rb', line 41 def @pr_message_header end |
#pr_message_max_length ⇒ Object
Returns the value of attribute pr_message_max_length.
59 60 61 |
# File 'lib/dependabot/pull_request_creator/message_builder.rb', line 59 def @pr_message_max_length end |
#source ⇒ Object (readonly)
Returns the value of attribute source.
29 30 31 |
# File 'lib/dependabot/pull_request_creator/message_builder.rb', line 29 def source @source end |
#vulnerabilities_fixed ⇒ Object (readonly)
Returns the value of attribute vulnerabilities_fixed.
50 51 52 |
# File 'lib/dependabot/pull_request_creator/message_builder.rb', line 50 def vulnerabilities_fixed @vulnerabilities_fixed end |
Instance Method Details
#commit_message ⇒ Object
158 159 160 161 162 163 164 165 166 167 168 169 |
# File 'lib/dependabot/pull_request_creator/message_builder.rb', line 158 def = commit_subject + "\n\n" += += += "\n\n" + T.must() if rescue StandardError => e suppress_error("commit message", e) = commit_subject += "\n\n" + T.must() if end |
#message ⇒ Object
172 173 174 175 176 177 178 |
# File 'lib/dependabot/pull_request_creator/message_builder.rb', line 172 def Dependabot::PullRequestCreator::Message.new( pr_name: pr_name, pr_message: , commit_message: ) end |
#pr_message ⇒ Object
121 122 123 124 125 126 127 128 129 130 131 132 |
# File 'lib/dependabot/pull_request_creator/message_builder.rb', line 121 def msg = "#{}" \ "#{}" \ "#{}" \ "#{ignore_conditions_table}" \ "#{}" (msg) rescue StandardError => e suppress_error("PR message", e) + end |
#pr_name ⇒ Object
114 115 116 117 118 |
# File 'lib/dependabot/pull_request_creator/message_builder.rb', line 114 def pr_name name = dependency_group ? group_pr_name : solo_pr_name name[0] = T.must(name[0]).capitalize if pr_name_prefixer.capitalize_first_word? "#{pr_name_prefix}#{name}" end |
#truncate_pr_message(msg) ⇒ Object
137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 |
# File 'lib/dependabot/pull_request_creator/message_builder.rb', line 137 def (msg) return msg if .nil? msg = msg.dup msg = msg.force_encoding(T.must()) unless .nil? if msg.length > T.must() tr_msg = if .nil? TRUNCATED_MSG else (+TRUNCATED_MSG).dup.force_encoding(T.must()) end trunc_length = T.must() - tr_msg.length msg = (T.must(msg[0..trunc_length]) + tr_msg) end # if we used a custom encoding for calculating length, then we need to force back to UTF-8 msg = msg.encode("utf-8", "binary", invalid: :replace, undef: :replace) unless .nil? msg end |