Class: Purobu::DSL

Inherits:
Object
  • Object
show all
Defined in:
lib/purobu/dsl.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(opts = {}) ⇒ DSL

Returns a new instance of DSL.



4
5
6
7
# File 'lib/purobu/dsl.rb', line 4

def initialize(opts = {})
  @runner = Runner.new
  @files  = opts[:files] || Dir['**/test_*.rb']
end

Instance Attribute Details

#filesObject (readonly)

Returns the value of attribute files.



3
4
5
# File 'lib/purobu/dsl.rb', line 3

def files
  @files
end

#runnerObject (readonly)

Returns the value of attribute runner.



3
4
5
# File 'lib/purobu/dsl.rb', line 3

def runner
  @runner
end

Instance Method Details

#load_testsObject



22
23
24
# File 'lib/purobu/dsl.rb', line 22

def load_tests
  files.each { |f| instance_eval(File.read(f)) }
end

#runObject



17
18
19
20
# File 'lib/purobu/dsl.rb', line 17

def run
  load_tests
  runner.run
end

#test(name = nil, &block) ⇒ Object



9
10
11
# File 'lib/purobu/dsl.rb', line 9

def test(name = nil, &block)
  runner.tests.push( Test.new(name).tap { |t| t.instance_eval(&block) } )
end

#testsObject



13
14
15
# File 'lib/purobu/dsl.rb', line 13

def tests
  runner.tests
end