Sha256: 2db4f9af74473ca800a1300f68b410a60ba508ee40edb66ee2b084df0ce6bea3

Contents?: true

Size: 1.02 KB

Versions: 2

Compression:

Stored size: 1.02 KB

Contents

require 'forwardable'
module JsdocHelper
  module Rake
    # Encapsulates rake tasks for generating jsdoc documentation
    # 
    # example:
    #   JsdocHelper::Rake::Task.new do |t|
    #     t[:toolkit] = '/usr/local/lib/jsdoc-toolkit'
    #     t[:files] << 'ext'
    #     t[:template] = 'templates/jsdoc_custom'
    #     t[:out] = 'html'
    #     t[:options] = '--private'
    #   end
    # 
    class Task
      
      extend Forwardable
      def_delegators :runner, :[]=
      
      DEFAULT_NAME = 'jsdoc'
            
      # Create a new jsdoc-toolkit task. If a block is passed, the task object will be passed as an argument to the block.
      def initialize(task_name=DEFAULT_NAME)
        yield self if block_given?
        define_task(task_name)
      end
      
      private
      
      def define_task(task_name)
        desc "Generate jsdoc-toolkit documentation"
        task task_name do
          runner.run
        end
      end
      
      def runner
        @runner ||= Runner.new
      end
      
    end
  end
end

Version data entries

2 entries across 2 versions & 2 rubygems

Version Path
quentonc-jsdoc_helper-0.0.2 lib/jsdoc_helper/rake/task.rb
ragaskar-jsdoc_helper-0.0.2.1 lib/jsdoc_helper/rake/task.rb