Class: DocmeTask::RakeTask

Inherits:
Rake::TaskLib
  • Object
show all
Defined in:
lib/docme/rake_task.rb

Overview

Provides a custom rake task.

require ‘docme/rake-task’ Docme::RakeTask.new

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(*args, &task_block) ⇒ RakeTask

Returns a new instance of RakeTask.



21
22
23
24
25
26
27
28
29
30
31
# File 'lib/docme/rake_task.rb', line 21

def initialize(*args, &task_block)
    @name = args.shift || :docme
    @parse = nil
    @index = nil
    @page = nil
    @style = nil
    @verbose = nil

    define(args, &task_block)

end

Instance Attribute Details

#indexObject

Returns the value of attribute index.



16
17
18
# File 'lib/docme/rake_task.rb', line 16

def index
  @index
end

#nameObject

Returns the value of attribute name.



14
15
16
# File 'lib/docme/rake_task.rb', line 14

def name
  @name
end

#pageObject

Returns the value of attribute page.



17
18
19
# File 'lib/docme/rake_task.rb', line 17

def page
  @page
end

#parseObject

Returns the value of attribute parse.



15
16
17
# File 'lib/docme/rake_task.rb', line 15

def parse
  @parse
end

#styleObject

Returns the value of attribute style.



18
19
20
# File 'lib/docme/rake_task.rb', line 18

def style
  @style
end

#verboseObject

Returns the value of attribute verbose.



19
20
21
# File 'lib/docme/rake_task.rb', line 19

def verbose
  @verbose
end

Instance Method Details

#build_inputObject



41
42
43
44
45
46
47
48
49
50
51
# File 'lib/docme/rake_task.rb', line 41

def build_input
    temp = []

    temp.push('parse', @parse) unless @parse.nil?
    temp.push('--index', @index) unless @index.nil?
    temp.push('--page', @page) unless @page.nil?
    temp.push('--style', @style) unless @style.nil?
    temp.push('-v') unless @verbose.nil?

    temp
end

#define(args, &task_block) ⇒ Object



53
54
55
56
57
58
59
60
61
62
# File 'lib/docme/rake_task.rb', line 53

def define(args, &task_block)
    desc 'Run docme' unless ::Rake.application.last_comment

    task name, *args do |_, task_args|
        RakeFileUtils.__send__(:verbose, verbose) do
            task_block.call(*[self, task_args].slice(0, task_block.arity)) if task_block
            engage_docme
        end
    end
end

#engage_docmeObject



33
34
35
36
37
38
39
# File 'lib/docme/rake_task.rb', line 33

def engage_docme

    input = build_input

    DocmeCLI.start(input)

end