Method: Thor::Actions::InjectIntoFile#initialize

Defined in:
lib/thor/actions/inject_into_file.rb

#initialize(base, destination, data, config) ⇒ InjectIntoFile

Returns a new instance of InjectIntoFile.



69
70
71
72
73
74
75
76
77
78
79
80
81
# File 'lib/thor/actions/inject_into_file.rb', line 69

def initialize(base, destination, data, config)
  super(base, destination, {verbose: true}.merge(config))

  @behavior, @flag = if @config.key?(:after)
    [:after, @config.delete(:after)]
  else
    [:before, @config.delete(:before)]
  end

  @replacement = data.is_a?(Proc) ? data.call : data
  @flag = Regexp.escape(@flag) unless @flag.is_a?(Regexp)
  @error_on_no_change = @config.fetch(:error_on_no_change, false)
end