class Ataru::Traverser
Constants
- CODE_ELEMENTS
Attributes
document[RW]
file_name[RW]
language[RW]
Public Class Methods
new(document, file_name, language = "language-ruby")
click to toggle source
# File lib/ataru/traverser.rb, line 10 def initialize(document, file_name, language = "language-ruby") self.document = document self.language = language self.file_name = file_name end
Public Instance Methods
code_samples()
click to toggle source
# File lib/ataru/traverser.rb, line 16 def code_samples tree = document.root self.walk_tree(tree) end
walk_tree(element)
click to toggle source
# File lib/ataru/traverser.rb, line 21 def walk_tree(element) code_samples = [] element.children.each do |child| if CODE_ELEMENTS.include?(child.type) if child.attr["class"] == language line_number = child.options[:location] + 1 code_samples << CodeSample.new(child.value.strip, file_name, line_number) end else code_samples += walk_tree(child) end end code_samples end