Method: Thor::Actions#inject_into_class
- Defined in:
- lib/thor/actions/file_manipulation.rb
permalink #inject_into_class(path, klass, *args, &block) ⇒ Object
Injects text right after the class definition. Since it depends on insert_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", "ApplicationController", " filter_parameter :password\n"
inject_into_class "app/controllers/application_controller.rb", "ApplicationController" do
" filter_parameter :password\n"
end
216 217 218 219 220 |
# File 'lib/thor/actions/file_manipulation.rb', line 216 def inject_into_class(path, klass, *args, &block) config = args.last.is_a?(Hash) ? args.pop : {} config[:after] = /class #{klass}\n|class #{klass} .*\n/ insert_into_file(path, *(args << config), &block) end |