Class: Kettle::Family::DebuggerBootstrap
- Inherits:
-
Object
- Object
- Kettle::Family::DebuggerBootstrap
- Defined in:
- lib/kettle/family/debugger_bootstrap.rb
Overview
Removes the obsolete byebug debugger stack before Bundler evaluates a legacy member. This must happen before kettle-jem can template Gemfile.
Constant Summary collapse
- DEBUG_GEM =
"debug"- OBSOLETE_NAME_FRAGMENT =
"byebug"- DECLARATION_METHODS =
%i[gem add_dependency add_development_dependency].freeze
Instance Attribute Summary collapse
-
#mode ⇒ Object
readonly
Returns the value of attribute mode.
Instance Method Summary collapse
- #bootstrap_member(member) ⇒ Object
-
#initialize(mode: :dry_run) ⇒ DebuggerBootstrap
constructor
A new instance of DebuggerBootstrap.
- #member_needs_bootstrap?(member) ⇒ Boolean
Constructor Details
#initialize(mode: :dry_run) ⇒ DebuggerBootstrap
Returns a new instance of DebuggerBootstrap.
14 15 16 |
# File 'lib/kettle/family/debugger_bootstrap.rb', line 14 def initialize(mode: :dry_run) @mode = mode end |
Instance Attribute Details
#mode ⇒ Object (readonly)
Returns the value of attribute mode.
18 19 20 |
# File 'lib/kettle/family/debugger_bootstrap.rb', line 18 def mode @mode end |
Instance Method Details
#bootstrap_member(member) ⇒ Object
24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
# File 'lib/kettle/family/debugger_bootstrap.rb', line 24 def bootstrap_member(member) edits = edits_for(member) write_edits(edits) CommandResult.new( member.name, "template_bootstrap_debugger", ["internal", "debugger-bootstrap", DEBUG_GEM], member.root, 0, true, "replaced obsolete byebug debugger dependencies with #{DEBUG_GEM} in #{edits.map { |edit| File.basename(edit.fetch(:path)) }.uniq.join(", ")}\n", "", 0.0, mode != :execute, (mode == :execute) ? nil : "dry run" ) end |
#member_needs_bootstrap?(member) ⇒ Boolean
20 21 22 |
# File 'lib/kettle/family/debugger_bootstrap.rb', line 20 def member_needs_bootstrap?(member) edits_for(member).any? end |