Method: Thor::Actions#inject_into_class

Defined in:
lib/wip/vendor/thor/actions/file_manipulation.rb

#inject_into_class(path, klass, *args, &block) ⇒ Object

Injects text right after the class definition. Since it depends on inject_into_file, it’s reversible.

Parameters

path<String>

path of the file to be changed

klass<String|Class>

the class to be manipulated

data<String>

the data to append to the class, can be also given as a block.

config<Hash>

give :verbose => false to not log the status.

Examples

inject_into_class "app/controllers/application_controller.rb", "  filter_parameter :password\n"

inject_into_class "app/controllers/application_controller.rb", ApplicationController do
  "  filter_parameter :password\n"
end


172
173
174
175
176
# File 'lib/wip/vendor/thor/actions/file_manipulation.rb', line 172

def inject_into_class(path, klass, *args, &block)
  config = args.last.is_a?(Hash) ? args.pop : {}
  config.merge!(:after => /class #{klass}\n|class #{klass} .*\n/)
  inject_into_file(path, *(args << config), &block)
end