Module: Opal::Rails::TaskHooks
- Defined in:
- lib/opal/rails/task_hooks.rb
Constant Summary collapse
- BUILD_HOOKS =
[ 'assets:precompile', 'test:prepare', 'spec:prepare' ].freeze
- PREPARE_HOOKS =
Ensure
rake testinvokes test:prepare (which Rails defines but does not wire as a prerequisite of the :test task). { 'test' => 'test:prepare', 'spec' => 'spec:prepare' }.freeze
- CLOBBER_HOOKS =
[ 'assets:clobber' ].freeze
Class Method Summary collapse
- .apply!(task_manager: Rake::Task) ⇒ Object
- .attach(task_name, prerequisite:, task_manager: Rake::Task) ⇒ Object
Class Method Details
.apply!(task_manager: Rake::Task) ⇒ Object
27 28 29 30 31 32 33 34 35 36 37 |
# File 'lib/opal/rails/task_hooks.rb', line 27 def apply!(task_manager: Rake::Task) BUILD_HOOKS.each do |task_name| attach(task_name, prerequisite: 'opal:build', task_manager: task_manager) end CLOBBER_HOOKS.each do |task_name| attach(task_name, prerequisite: 'opal:clobber', task_manager: task_manager) end PREPARE_HOOKS.each do |task_name, prerequisite| attach(task_name, prerequisite: prerequisite, task_manager: task_manager) end end |
.attach(task_name, prerequisite:, task_manager: Rake::Task) ⇒ Object
39 40 41 42 43 44 45 46 |
# File 'lib/opal/rails/task_hooks.rb', line 39 def attach(task_name, prerequisite:, task_manager: Rake::Task) return unless task_manager.task_defined?(task_name) task = task_manager[task_name] return if task.prerequisites.include?(prerequisite) task.enhance([prerequisite]) end |