structured-acceptance-test 0.0.1 → 0.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/JSONable.rb +2 -2
- data/lib/index_out_of_bound_exception.rb +4 -0
- data/lib/stat.rb +37 -0
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2b247928af0754f0da447bf44ad19fc76265c5c0
|
4
|
+
data.tar.gz: be9c9043e42ce03211f2792e96538da84d272e93
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 027a533e426d3cd2363a478880ec516381e31a1d3a5eb3b4bea9aa2848d46823a291b6608d1fc75557a69a8b317f8ea727813e4e5e35995e566d22d7ba3f4025
|
7
|
+
data.tar.gz: 9f2b16309871ac643f2832e33fc0709d103197d2ae34e913b07d2ce133e9fe7389d450a77d64e93719a000d4d63661fc2c2d704c90dce7fb6942b8aa95bc7c9b
|
data/lib/JSONable.rb
CHANGED
@@ -2,10 +2,10 @@ module StatModule
|
|
2
2
|
require 'json'
|
3
3
|
|
4
4
|
class JSONable
|
5
|
-
def to_json(
|
5
|
+
def to_json(excluded_fields = [])
|
6
6
|
hash = {}
|
7
7
|
self.instance_variables.each do |var|
|
8
|
-
hash[var.to_s.delete "@"] = self.instance_variable_get var
|
8
|
+
hash[var.to_s.delete "@"] = self.instance_variable_get var unless excluded_fields.is_a?(Array) && excluded_fields.include?(var.to_s.delete "@")
|
9
9
|
end
|
10
10
|
hash.to_json
|
11
11
|
end
|
data/lib/stat.rb
CHANGED
@@ -9,6 +9,8 @@ module StatModule
|
|
9
9
|
require_relative 'category'
|
10
10
|
require_relative 'JSONable'
|
11
11
|
require_relative 'type_exception'
|
12
|
+
require_relative 'duplicate_element_exception'
|
13
|
+
require_relative 'index_out_of_bound_exception'
|
12
14
|
|
13
15
|
class Stat < JSONable
|
14
16
|
attr_reader :statVersion
|
@@ -18,6 +20,7 @@ module StatModule
|
|
18
20
|
@statVersion = '1.0.0'
|
19
21
|
@process = process
|
20
22
|
@findings = []
|
23
|
+
@finding_print_index = 0
|
21
24
|
end
|
22
25
|
|
23
26
|
def findings=(findings)
|
@@ -41,5 +44,39 @@ module StatModule
|
|
41
44
|
def process
|
42
45
|
@process
|
43
46
|
end
|
47
|
+
|
48
|
+
def print_header
|
49
|
+
@finding_print_index = 0
|
50
|
+
hash = {}
|
51
|
+
hash['statVersion'] = @statVersion
|
52
|
+
hash['process'] = @process.to_json
|
53
|
+
hash['findings'] = []
|
54
|
+
result = hash.to_json.to_s
|
55
|
+
result = result[0..result.length - 3]
|
56
|
+
puts(result)
|
57
|
+
puts
|
58
|
+
end
|
59
|
+
|
60
|
+
def print_finding
|
61
|
+
if @finding_print_index < @findings.length
|
62
|
+
result = @findings[@finding_print_index].to_json
|
63
|
+
result += ',' unless @finding_print_index >= @findings.length - 1
|
64
|
+
puts(result)
|
65
|
+
puts
|
66
|
+
@finding_print_index += 1
|
67
|
+
else
|
68
|
+
raise IndexOutOfBoundException
|
69
|
+
end
|
70
|
+
end
|
71
|
+
|
72
|
+
def print_footer
|
73
|
+
@finding_print_index = 0
|
74
|
+
puts ']}'
|
75
|
+
puts
|
76
|
+
end
|
77
|
+
|
78
|
+
def to_json(options = {})
|
79
|
+
super(['finding_print_index'])
|
80
|
+
end
|
44
81
|
end
|
45
82
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: structured-acceptance-test
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- William Entriken
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2017-
|
12
|
+
date: 2017-02-14 00:00:00.000000000 Z
|
13
13
|
dependencies: []
|
14
14
|
description: Structured acceptance test data structure gem
|
15
15
|
email: github.com@phor.net
|
@@ -23,6 +23,7 @@ files:
|
|
23
23
|
- lib/duplicate_element_exception.rb
|
24
24
|
- lib/finding.rb
|
25
25
|
- lib/fix.rb
|
26
|
+
- lib/index_out_of_bound_exception.rb
|
26
27
|
- lib/location.rb
|
27
28
|
- lib/process.rb
|
28
29
|
- lib/repeatability.rb
|