module Lab42::Literate::GroupDoctest

Constants

Ex

Public Instance Methods

doctest(filename) click to toggle source
# File lib/lab42/literate/group_doctest.rb, line 5
def doctest filename
 blocks =  Ex
    .extract(File.readlines(filename))

 setups, examples = blocks.partition(&:given?)
 setups.each{ |setup| make_setup filename, setup }
 examples.each{ |example| make_context filename, example }
end

Private Instance Methods

make_context(filename, example) click to toggle source
# File lib/lab42/literate/group_doctest.rb, line 16
def make_context filename, example
  return if example.lines.empty?
  title = example.get_title "literate block in #{filename}:#{example.range.inspect}"
  context title do
    it do
      eval(example.lines.join("\n"))
    end
  end
end
make_setup(filename, setup) click to toggle source
# File lib/lab42/literate/group_doctest.rb, line 26
def make_setup filename, setup
  eval(setup.lines.join("\n"))
end