class DocmeTask::RakeTask

Provides a custom rake task.

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

Attributes

index[RW]
name[RW]
page[RW]
parse[RW]
style[RW]
verbose[RW]

Public Class Methods

new(*args, &task_block) click to toggle source
# 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

Public Instance Methods

build_input() click to toggle source
# 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) click to toggle source
# 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_docme() click to toggle source
# File lib/docme/rake_task.rb, line 33
def engage_docme

    input = build_input

    DocmeCLI.start(input)

end