Module: Kamaze::Project::Concern::Tasks
- Included in:
- Kamaze::Project
- Defined in:
- lib/kamaze/project/concern/tasks.rb
Overview
Concern tasks
Stores tasks to enable and provides method to load them
Instance Method Summary collapse
-
#tasks ⇒ Array<Symbol>
Get tasks.
-
#tasks=(tasks) ⇒ Object
Set tasks.
-
#tasks_load! ⇒ self
protected
Load tasks.
Instance Method Details
#tasks ⇒ Array<Symbol>
Get tasks
18 19 20 21 22 |
# File 'lib/kamaze/project/concern/tasks.rb', line 18 def tasks @tasks ||= [] @tasks.clone.freeze end |
#tasks=(tasks) ⇒ Object
Set tasks
27 28 29 30 31 32 33 |
# File 'lib/kamaze/project/concern/tasks.rb', line 27 def tasks=(tasks) @tasks = (@tasks.to_a + tasks.to_a).map(&:to_s).map do |tn| { ':': '/', '-': '_' }.each { |k, v| tn = tn.tr(k.to_s, v) } tn end.map(&:to_sym).uniq end |
#tasks_load! ⇒ self (protected)
Load tasks
Tasks are loaded only when Rake::DSL
is defined.
DSL::Definition
is loaded during tasks loading.
44 45 46 47 48 49 50 51 52 53 54 |
# File 'lib/kamaze/project/concern/tasks.rb', line 44 def tasks_load! if Kernel.const_defined?('Rake::DSL') ns = Pathname.new('kamaze/project') [ns.join('dsl/setup'), tasks.map { |task| ns.join("tasks/#{task}") }] .flatten.map(&:to_s).each { |req| require req } end self end |