Class: CabbageDoc::Task
- Inherits:
-
Rake::TaskLib
- Object
- Rake::TaskLib
- CabbageDoc::Task
- Defined in:
- lib/cabbage_doc/task.rb
Instance Attribute Summary collapse
-
#customize ⇒ Object
Returns the value of attribute customize.
-
#generators ⇒ Object
Returns the value of attribute generators.
-
#name ⇒ Object
Returns the value of attribute name.
-
#tags ⇒ Object
Returns the value of attribute tags.
Class Method Summary collapse
Instance Method Summary collapse
- #config ⇒ Object
- #define! ⇒ Object
-
#initialize ⇒ Task
constructor
A new instance of Task.
- #sort! ⇒ Object
- #validate! ⇒ Object
Constructor Details
#initialize ⇒ Task
Returns a new instance of Task.
17 18 19 20 21 22 |
# File 'lib/cabbage_doc/task.rb', line 17 def initialize self.generators = config.generators.dup self. = config..dup self.name = :cabbagedoc self.customize = true end |
Instance Attribute Details
#customize ⇒ Object
Returns the value of attribute customize.
6 7 8 |
# File 'lib/cabbage_doc/task.rb', line 6 def customize @customize end |
#generators ⇒ Object
Returns the value of attribute generators.
6 7 8 |
# File 'lib/cabbage_doc/task.rb', line 6 def generators @generators end |
#name ⇒ Object
Returns the value of attribute name.
6 7 8 |
# File 'lib/cabbage_doc/task.rb', line 6 def name @name end |
#tags ⇒ Object
Returns the value of attribute tags.
6 7 8 |
# File 'lib/cabbage_doc/task.rb', line 6 def @tags end |
Class Method Details
.define ⇒ Object
8 9 10 11 12 13 14 15 |
# File 'lib/cabbage_doc/task.rb', line 8 def self.define new.tap do |instance| yield instance if block_given? instance.validate! instance.sort! instance.define! end end |
Instance Method Details
#config ⇒ Object
24 25 26 |
# File 'lib/cabbage_doc/task.rb', line 24 def config @_config ||= Configuration.instance end |
#define! ⇒ Object
32 33 34 35 36 37 38 39 40 41 42 43 44 |
# File 'lib/cabbage_doc/task.rb', line 32 def define! namespace name do define_generators! define_customizer! end desc "Run all generators" task name => :environment do generators.each do |type| Generator.perform(type) end end end |
#sort! ⇒ Object
28 29 30 |
# File 'lib/cabbage_doc/task.rb', line 28 def sort! generators.sort! { |generator| Generator::PRIORITIES.index(Generator.all[generator].priority) } end |
#validate! ⇒ Object
46 47 48 49 50 51 52 53 |
# File 'lib/cabbage_doc/task.rb', line 46 def validate! fail "Invalid 'name'" unless name.is_a?(Symbol) fail "No 'generators' configured" unless generators.any? generators.each do |generator| fail "Invalid 'generator' #{generator}" unless Generator.exists?(generator) end end |