class RSpecJumpstart::RDocFactory
Public Class Methods
extract_target_class_or_module(top_level)
click to toggle source
Extracts RDoc::NormalClass/RDoc::NormalModule from RDoc::TopLevel.
# File lib/rspec_jumpstart/rdoc_factory.rb, line 47 def self.extract_target_class_or_module(top_level) c = top_level.classes.first return c if c m = top_level.modules.first if m.nil? top_level.is_a?(RDoc::NormalModule) ? top_level : nil else extract_target_class_or_module(m) end end
get_rdoc_class_or_module(file_path)
click to toggle source
Returns RDoc::NormalClass/RDoc::NormalModule instance.
# File lib/rspec_jumpstart/rdoc_factory.rb, line 19 def self.get_rdoc_class_or_module(file_path) top_level = get_ruby_parser(file_path).scan extract_target_class_or_module(top_level) end
get_ruby_parser(file_path)
click to toggle source
Creates new RDoc::Parser::Ruby instance.
# File lib/rspec_jumpstart/rdoc_factory.rb, line 27 def self.get_ruby_parser(file_path) top_level = RDoc::TopLevel.new(file_path) # RDoc 4.0.0 requires RDoc::Store internally. store = RDoc::Store.new top_level.store = store stats = RDoc::Stats.new(store, 1) RDoc::Parser::Ruby.new( top_level, file_path, File.read(file_path), RDoc::Options.new, stats ) end