class Falkor::Yard::Documentation
Constants
- FILE_GLOB
Attributes
source_dir[RW]
yardoc_file[RW]
Public Class Methods
new(source_dir, yardoc_file = ".yardoc")
click to toggle source
# File lib/falkor/yard/documentation.rb, line 15 def initialize(source_dir, yardoc_file = ".yardoc") @source_dir = source_dir @yardoc_file = yardoc_file end
Public Instance Methods
generate()
click to toggle source
# File lib/falkor/yard/documentation.rb, line 20 def generate in_source_dir do with_yardoc_file do YARD::Registry.lock_for_writing do report_progress(:parse_files, files.size, &Proc.new) YARD::Registry.save(true) end end end yardoc_file end
Private Instance Methods
files()
click to toggle source
# File lib/falkor/yard/documentation.rb, line 37 def files @files ||= FILE_GLOB.map do |path| path = "#{path}/**/*.{rb,c,cc,cxx,cpp}" if File.directory?(path) path = Dir[path].sort_by { |d| [d.length, d] } if path.include?("*") path end.flatten.select { |p| File.file?(p) } end
in_source_dir() { || ... }
click to toggle source
# File lib/falkor/yard/documentation.rb, line 47 def in_source_dir Dir.chdir(source_dir) { yield } end
parse_files() { |count, description| ... }
click to toggle source
# File lib/falkor/yard/documentation.rb, line 60 def parse_files Parser.new(nil, files).parse do |count, description| yield count, description end end
with_yardoc_file() { || ... }
click to toggle source
# File lib/falkor/yard/documentation.rb, line 51 def with_yardoc_file YARD::Registry.clear YARD::Logger.instance.io = IO.new(IO.sysopen("/dev/null", "w+")) YARD::Registry.yardoc_file = yardoc_file yield YARD::Registry.yardoc_file = nil YARD::Logger.instance.io = STDOUT end