Class: Dependabot::Bundler::FileUpdater::GemspecSanitizer::Rewriter
- Inherits:
-
Parser::TreeRewriter
- Object
- Parser::TreeRewriter
- Dependabot::Bundler::FileUpdater::GemspecSanitizer::Rewriter
- Extended by:
- T::Sig
- Defined in:
- lib/dependabot/bundler/file_updater/gemspec_sanitizer.rb
Constant Summary collapse
- ParserNode =
T.type_alias { T.nilable(T.any(Parser::AST::Node, Symbol, Integer, String, Float)) }
Instance Method Summary collapse
-
#initialize(replacement_version:) ⇒ Rewriter
constructor
A new instance of Rewriter.
- #on_send(node) ⇒ Object
Constructor Details
#initialize(replacement_version:) ⇒ Rewriter
60 61 62 |
# File 'lib/dependabot/bundler/file_updater/gemspec_sanitizer.rb', line 60 def initialize(replacement_version:) @replacement_version = replacement_version end |
Instance Method Details
#on_send(node) ⇒ Object
65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 |
# File 'lib/dependabot/bundler/file_updater/gemspec_sanitizer.rb', line 65 def on_send(node) # Wrap any `require` or `require_relative` calls in a rescue # block, as we might not have the required files wrap_require(node) if requires_file?(node) # Remove any assignments to a VERSION constant (or similar), as # that constant probably comes from a required file replace_version_assignments(node) # Replace the `s.files= ...` assignment with a blank array, as # occasionally a File.open(..).readlines pattern is used replace_file_assignments(node) # Replace the `s.require_path= ...` assignment, as # occasionally a Dir['lib'] pattern is used replace_require_paths_assignments(node) # Replace any `File.read(...)` calls with a dummy string replace_file_reads(node) # Replace any `JSON.parse(...)` calls with a dummy hash replace_json_parses(node) # Remove the arguments from any `Find.find(...)` calls remove_find_dot_find_args(node) remove_unnecessary_assignments(node) end |