Sha256: f2ed5402725d75c544e461b662f0c037e536e82635d1e8452719d8cb91a12ff8

Contents?: true

Size: 806 Bytes

Versions: 5

Compression:

Stored size: 806 Bytes

Contents

require 'rake'
require 'rake/tasklib'

module YARD
  module Rake
    
    class YardocTask < ::Rake::TaskLib
      attr_accessor :name
      attr_accessor :options
      attr_accessor :files
      attr_accessor :before, :after

      def initialize(name = :yardoc)
        @name = name
        @options = []
        @files = []
        
        yield self if block_given?
        self.options +=  ENV['OPTS'].split(/[ ,]/) if ENV['OPTS'] 
        self.files   += ENV['FILES'].split(/[ ,]/) if ENV['FILES']
        
        define
      end
      
      def define
        desc "Generate YARD Documentation"
        task(name) do
          before.call if before.is_a?(Proc)
          YARD::CLI::Yardoc.run *(options + files) 
          after.call if after.is_a?(Proc)
        end
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
yard-0.2.3.5 lib/yard/rake/yardoc_task.rb
yard-0.2.3.4 lib/yard/rake/yardoc_task.rb
yard-0.2.3.2 lib/yard/rake/yardoc_task.rb
yard-0.2.3.3 lib/yard/rake/yardoc_task.rb
yard-0.2.3 lib/yard/rake/yardoc_task.rb