Class: RakeFly::TaskSets::Project

Inherits:
RakeFactory::TaskSet
  • Object
show all
Includes:
RakeFactory::Namespaceable
Defined in:
lib/rake_fly/task_sets/project.rb

Instance Method Summary collapse

Instance Method Details

#define_on(application) ⇒ Object



100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
# File 'lib/rake_fly/task_sets/project.rb', line 100

def define_on(application)
  around_define(application) do
    self.class.tasks.each do |task_definition|
      task_class = task_definition.klass.to_s
      ns = case task_class
      when /Pipeline/
        pipeline_namespace
      when /Authentication/
        authentication_namespace
      else
        raise StandardError.new(
            "Unexpected task definition: #{task_class}.")
      end

      application.in_namespace(ns) do
        task_definition
            .for_task_set(self)
            .define_on(application)
      end
    end
  end
end