Class: Sevgi::Test::Script

Inherits:
Object
  • Object
show all
Defined in:
lib/sevgi/showcase/minitest/script.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(file) ⇒ Script

Returns a new instance of Script.



8
# File 'lib/sevgi/showcase/minitest/script.rb', line 8

def initialize(file) = @file = ::File.expand_path(sanitize(file))

Instance Attribute Details

#fileObject (readonly)

Returns the value of attribute file.



6
7
8
# File 'lib/sevgi/showcase/minitest/script.rb', line 6

def file
  @file
end

Instance Method Details

#dirObject



10
# File 'lib/sevgi/showcase/minitest/script.rb', line 10

def dir = @dir ||= ::File.dirname(file)

#file!Object



12
# File 'lib/sevgi/showcase/minitest/script.rb', line 12

def file! = ::File.basename(file)

#nameObject



14
# File 'lib/sevgi/showcase/minitest/script.rb', line 14

def name = @name ||= ::File.basename(file, ".*")

#runObject



16
# File 'lib/sevgi/showcase/minitest/script.rb', line 16

def run(*) = Shell.run(file, *)

#run_passiveObject

A gross hack to avoid touching filesystem during testing. Intercept the Save methods to display output in stdout instead of saving an actual file.



33
34
35
36
# File 'lib/sevgi/showcase/minitest/script.rb', line 33

def run_passive(*)
  warn("...#{name}")
  Shell.run("sevgi", "-r", "sevgi/showcase/kludge", file, *)
end

#suiteObject



18
# File 'lib/sevgi/showcase/minitest/script.rb', line 18

def suite = @suite ||= ::File.basename(dir)

#svgObject



22
# File 'lib/sevgi/showcase/minitest/script.rb', line 22

def svg = @svg ||= ::File.expand_path("#{dir}/#{name}.svg")

#svg!Object



24
# File 'lib/sevgi/showcase/minitest/script.rb', line 24

def svg! = ::File.basename(svg)

#svg?Boolean

Returns:

  • (Boolean)


20
# File 'lib/sevgi/showcase/minitest/script.rb', line 20

def svg? = ::File.exist?(svg)

#ymlObject



26
# File 'lib/sevgi/showcase/minitest/script.rb', line 26

def yml = @yml ||= ::File.expand_path("#{dir}/#{name}.yml")

#yml!Object



28
# File 'lib/sevgi/showcase/minitest/script.rb', line 28

def yml! = ::File.basename(yml)