Class: Kumi::Dev::Golden::Suite

Inherits:
Object
  • Object
show all
Defined in:
lib/kumi/dev/golden/suite.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(base_dir: "golden", representations: REPRESENTATIONS) ⇒ Suite

Returns a new instance of Suite.



9
10
11
12
# File 'lib/kumi/dev/golden/suite.rb', line 9

def initialize(base_dir: "golden", representations: REPRESENTATIONS)
  @base_dir = base_dir
  @representations = representations
end

Instance Attribute Details

#base_dirObject (readonly)

Returns the value of attribute base_dir.



7
8
9
# File 'lib/kumi/dev/golden/suite.rb', line 7

def base_dir
  @base_dir
end

#representationsObject (readonly)

Returns the value of attribute representations.



7
8
9
# File 'lib/kumi/dev/golden/suite.rb', line 7

def representations
  @representations
end

Instance Method Details

#diff(name = nil) ⇒ Object



38
39
40
41
42
43
44
45
46
# File 'lib/kumi/dev/golden/suite.rb', line 38

def diff(name = nil)
  names = if name
            name.is_a?(Array) ? name : [name]
          else
            schema_names
          end
  results = diff_schemas(names)
  Reporter.new.report_diff(results)
end

#listObject



14
15
16
# File 'lib/kumi/dev/golden/suite.rb', line 14

def list
  schema_names.each { |name| puts name }
end

#test(name = nil) ⇒ Object



48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
# File 'lib/kumi/dev/golden/suite.rb', line 48

def test(name = nil)
  names = if name
            name.is_a?(Array) ? name : [name]
          else
            schema_names
          end

  update_schemas(names)

  ruby_results = run_runtime_tests(names, :ruby)
  js_results = run_runtime_tests(names, :javascript)

  Reporter.new.report_runtime_tests(
    ruby: ruby_results,
    javascript: js_results
  )
end

#update(name = nil) ⇒ Object



18
19
20
21
22
23
24
25
26
# File 'lib/kumi/dev/golden/suite.rb', line 18

def update(name = nil)
  names = if name
            name.is_a?(Array) ? name : [name]
          else
            schema_names
          end
  results = update_schemas(names)
  Reporter.new.report_update(results)
end

#verify(name = nil) ⇒ Object



28
29
30
31
32
33
34
35
36
# File 'lib/kumi/dev/golden/suite.rb', line 28

def verify(name = nil)
  names = if name
            name.is_a?(Array) ? name : [name]
          else
            schema_names
          end
  results = verify_schemas(names)
  Reporter.new.report_verify(results)
end