lab_tech 0.1.0 → 0.1.5

Sign up to get free protection for your applications and to get access to all the features.
data/spec/examples.txt CHANGED
@@ -1,79 +1,83 @@
1
1
  example_id | status | run_time |
2
2
  ---------------------------------------------------- | ------ | --------------- |
3
- ./spec/models/lab_tech/default_cleaner_spec.rb[1:1] | passed | 0.00112 seconds |
4
- ./spec/models/lab_tech/default_cleaner_spec.rb[1:2] | passed | 0.0078 seconds |
5
- ./spec/models/lab_tech/default_cleaner_spec.rb[1:3] | passed | 0.00039 seconds |
3
+ ./spec/models/lab_tech/default_cleaner_spec.rb[1:1] | passed | 0.00035 seconds |
4
+ ./spec/models/lab_tech/default_cleaner_spec.rb[1:2] | passed | 0.00158 seconds |
5
+ ./spec/models/lab_tech/default_cleaner_spec.rb[1:3] | passed | 0.0004 seconds |
6
6
  ./spec/models/lab_tech/default_cleaner_spec.rb[1:4] | passed | 0.00198 seconds |
7
- ./spec/models/lab_tech/experiment_spec.rb[1:1:1:1] | passed | 0.00335 seconds |
8
- ./spec/models/lab_tech/experiment_spec.rb[1:1:2:1] | passed | 0.07101 seconds |
9
- ./spec/models/lab_tech/experiment_spec.rb[1:1:2:2] | passed | 0.01402 seconds |
10
- ./spec/models/lab_tech/experiment_spec.rb[1:1:2:3:1] | passed | 0.01324 seconds |
11
- ./spec/models/lab_tech/experiment_spec.rb[1:1:2:3:2] | passed | 0.01055 seconds |
12
- ./spec/models/lab_tech/experiment_spec.rb[1:1:2:4:1] | passed | 0.00826 seconds |
13
- ./spec/models/lab_tech/percentile_spec.rb[1:1:1:1] | passed | 0.00044 seconds |
14
- ./spec/models/lab_tech/percentile_spec.rb[1:1:1:2] | passed | 0.00034 seconds |
15
- ./spec/models/lab_tech/percentile_spec.rb[1:1:1:3] | passed | 0.00033 seconds |
16
- ./spec/models/lab_tech/percentile_spec.rb[1:1:1:4] | passed | 0.00043 seconds |
17
- ./spec/models/lab_tech/percentile_spec.rb[1:1:1:5] | passed | 0.00039 seconds |
7
+ ./spec/models/lab_tech/experiment_spec.rb[1:1:1:1] | passed | 0.00245 seconds |
8
+ ./spec/models/lab_tech/experiment_spec.rb[1:1:2:1] | passed | 0.04398 seconds |
9
+ ./spec/models/lab_tech/experiment_spec.rb[1:1:2:2] | passed | 0.03791 seconds |
10
+ ./spec/models/lab_tech/experiment_spec.rb[1:1:2:3:1] | passed | 0.01052 seconds |
11
+ ./spec/models/lab_tech/experiment_spec.rb[1:1:2:3:2] | passed | 0.0102 seconds |
12
+ ./spec/models/lab_tech/experiment_spec.rb[1:1:2:4:1] | passed | 0.00988 seconds |
13
+ ./spec/models/lab_tech/experiment_spec.rb[1:1:2:4:2] | passed | 0.01138 seconds |
14
+ ./spec/models/lab_tech/experiment_spec.rb[1:1:2:5:1] | passed | 0.00849 seconds |
15
+ ./spec/models/lab_tech/experiment_spec.rb[1:1:2:6:1] | passed | 0.0257 seconds |
16
+ ./spec/models/lab_tech/experiment_spec.rb[1:1:2:6:2] | passed | 0.02477 seconds |
17
+ ./spec/models/lab_tech/percentile_spec.rb[1:1:1:1] | passed | 0.00032 seconds |
18
+ ./spec/models/lab_tech/percentile_spec.rb[1:1:1:2] | passed | 0.00032 seconds |
19
+ ./spec/models/lab_tech/percentile_spec.rb[1:1:1:3] | passed | 0.00032 seconds |
20
+ ./spec/models/lab_tech/percentile_spec.rb[1:1:1:4] | passed | 0.00037 seconds |
21
+ ./spec/models/lab_tech/percentile_spec.rb[1:1:1:5] | passed | 0.00032 seconds |
18
22
  ./spec/models/lab_tech/percentile_spec.rb[1:1:1:6] | passed | 0.00033 seconds |
19
23
  ./spec/models/lab_tech/percentile_spec.rb[1:1:1:7] | passed | 0.00032 seconds |
20
24
  ./spec/models/lab_tech/percentile_spec.rb[1:1:1:8] | passed | 0.00034 seconds |
21
- ./spec/models/lab_tech/percentile_spec.rb[1:1:1:9] | passed | 0.00038 seconds |
22
- ./spec/models/lab_tech/percentile_spec.rb[1:1:1:10] | passed | 0.00038 seconds |
23
- ./spec/models/lab_tech/percentile_spec.rb[1:1:2:1] | passed | 0.00039 seconds |
24
- ./spec/models/lab_tech/percentile_spec.rb[1:1:2:2] | passed | 0.00034 seconds |
25
- ./spec/models/lab_tech/percentile_spec.rb[1:1:2:3] | passed | 0.00033 seconds |
26
- ./spec/models/lab_tech/percentile_spec.rb[1:1:2:4] | passed | 0.00031 seconds |
27
- ./spec/models/lab_tech/percentile_spec.rb[1:1:3:1] | passed | 0.00034 seconds |
25
+ ./spec/models/lab_tech/percentile_spec.rb[1:1:1:9] | passed | 0.00033 seconds |
26
+ ./spec/models/lab_tech/percentile_spec.rb[1:1:1:10] | passed | 0.00033 seconds |
27
+ ./spec/models/lab_tech/percentile_spec.rb[1:1:2:1] | passed | 0.00033 seconds |
28
+ ./spec/models/lab_tech/percentile_spec.rb[1:1:2:2] | passed | 0.00038 seconds |
29
+ ./spec/models/lab_tech/percentile_spec.rb[1:1:2:3] | passed | 0.00035 seconds |
30
+ ./spec/models/lab_tech/percentile_spec.rb[1:1:2:4] | passed | 0.00033 seconds |
31
+ ./spec/models/lab_tech/percentile_spec.rb[1:1:3:1] | passed | 0.00036 seconds |
28
32
  ./spec/models/lab_tech/percentile_spec.rb[1:1:3:2] | passed | 0.00032 seconds |
29
- ./spec/models/lab_tech/percentile_spec.rb[1:1:3:3] | passed | 0.00031 seconds |
30
- ./spec/models/lab_tech/percentile_spec.rb[1:1:3:4] | passed | 0.0003 seconds |
31
- ./spec/models/lab_tech/percentile_spec.rb[1:2:1] | passed | 0.00044 seconds |
32
- ./spec/models/lab_tech/percentile_spec.rb[1:2:2] | passed | 0.00043 seconds |
33
- ./spec/models/lab_tech/percentile_spec.rb[1:2:3] | passed | 0.00035 seconds |
34
- ./spec/models/lab_tech/percentile_spec.rb[1:2:4] | passed | 0.00036 seconds |
35
- ./spec/models/lab_tech/percentile_spec.rb[1:2:5] | passed | 0.00037 seconds |
36
- ./spec/models/lab_tech/percentile_spec.rb[1:3:1] | passed | 0.00047 seconds |
37
- ./spec/models/lab_tech/percentile_spec.rb[1:3:2] | passed | 0.00045 seconds |
38
- ./spec/models/lab_tech/percentile_spec.rb[1:3:3] | passed | 0.00044 seconds |
39
- ./spec/models/lab_tech/percentile_spec.rb[1:3:4] | passed | 0.00043 seconds |
40
- ./spec/models/lab_tech/percentile_spec.rb[1:3:5] | passed | 0.00045 seconds |
41
- ./spec/models/lab_tech/result_spec.rb[1:1:1] | passed | 0.01435 seconds |
42
- ./spec/models/lab_tech/result_spec.rb[1:1:2:1:1] | passed | 0.00917 seconds |
43
- ./spec/models/lab_tech/result_spec.rb[1:1:2:2:1] | passed | 0.01049 seconds |
44
- ./spec/models/lab_tech/result_spec.rb[1:1:2:3:1] | passed | 0.00984 seconds |
45
- ./spec/models/lab_tech/result_spec.rb[1:1:2:3:2] | passed | 0.00965 seconds |
46
- ./spec/models/lab_tech/result_spec.rb[1:1:2:4:1] | passed | 0.00998 seconds |
47
- ./spec/models/lab_tech/result_spec.rb[1:1:3:1] | passed | 0.00759 seconds |
48
- ./spec/models/lab_tech/result_spec.rb[1:1:4:1] | passed | 0.01068 seconds |
49
- ./spec/models/lab_tech/result_spec.rb[1:1:5:1] | passed | 0.01141 seconds |
50
- ./spec/models/lab_tech/result_spec.rb[1:1:6] | passed | 0.01769 seconds |
51
- ./spec/models/lab_tech/speedup_spec.rb[1:1] | passed | 0.00127 seconds |
52
- ./spec/models/lab_tech/speedup_spec.rb[1:2] | passed | 0.0004 seconds |
53
- ./spec/models/lab_tech/speedup_spec.rb[1:3] | passed | 0.00037 seconds |
54
- ./spec/models/lab_tech/speedup_spec.rb[1:4] | passed | 0.00036 seconds |
55
- ./spec/models/lab_tech/speedup_spec.rb[1:5] | passed | 0.00036 seconds |
56
- ./spec/models/lab_tech/speedup_spec.rb[1:6] | passed | 0.00036 seconds |
57
- ./spec/models/lab_tech/speedup_spec.rb[1:7] | passed | 0.00035 seconds |
58
- ./spec/models/lab_tech/speedup_spec.rb[1:8] | passed | 0.00036 seconds |
59
- ./spec/models/lab_tech/speedup_spec.rb[1:9] | passed | 0.00055 seconds |
60
- ./spec/models/lab_tech/speedup_spec.rb[1:10] | passed | 0.00045 seconds |
61
- ./spec/models/lab_tech/speedup_spec.rb[1:11] | passed | 0.00037 seconds |
62
- ./spec/models/lab_tech/speedup_spec.rb[1:12] | passed | 0.00047 seconds |
63
- ./spec/models/lab_tech/speedup_spec.rb[1:13] | passed | 0.00048 seconds |
64
- ./spec/models/lab_tech/summary_spec.rb[1:1:1] | passed | 0.0045 seconds |
65
- ./spec/models/lab_tech/summary_spec.rb[1:2:1] | passed | 0.03011 seconds |
66
- ./spec/models/lab_tech/summary_spec.rb[1:3:1] | passed | 0.01405 seconds |
67
- ./spec/models/lab_tech/summary_spec.rb[1:4:1] | passed | 0.01349 seconds |
68
- ./spec/models/lab_tech/summary_spec.rb[1:5:1] | passed | 0.01768 seconds |
69
- ./spec/models/lab_tech/summary_spec.rb[1:5:2] | passed | 0.01745 seconds |
70
- ./spec/models/lab_tech/summary_spec.rb[1:6:1:1] | passed | 0.0281 seconds |
71
- ./spec/models/lab_tech/summary_spec.rb[1:6:1:2] | passed | 0.02124 seconds |
72
- ./spec/models/lab_tech/summary_spec.rb[1:6:2:1] | passed | 0.02179 seconds |
73
- ./spec/models/lab_tech/summary_spec.rb[1:6:3:1] | passed | 0.02039 seconds |
74
- ./spec/models/lab_tech/summary_spec.rb[1:6:4:1] | passed | 0.07298 seconds |
75
- ./spec/models/lab_tech/summary_spec.rb[1:6:4:2] | passed | 0.05676 seconds |
76
- ./spec/models/lab_tech/summary_spec.rb[1:6:4:3] | passed | 0.05425 seconds |
77
- ./spec/models/lab_tech/summary_spec.rb[1:6:5:1] | passed | 0.16329 seconds |
78
- ./spec/models/lab_tech/summary_spec.rb[1:6:6:1] | passed | 0.16302 seconds |
79
- ./spec/models/lab_tech_spec.rb[1:1:1] | passed | 0.00093 seconds |
33
+ ./spec/models/lab_tech/percentile_spec.rb[1:1:3:3] | passed | 0.00032 seconds |
34
+ ./spec/models/lab_tech/percentile_spec.rb[1:1:3:4] | passed | 0.00032 seconds |
35
+ ./spec/models/lab_tech/percentile_spec.rb[1:2:1] | passed | 0.00033 seconds |
36
+ ./spec/models/lab_tech/percentile_spec.rb[1:2:2] | passed | 0.00045 seconds |
37
+ ./spec/models/lab_tech/percentile_spec.rb[1:2:3] | passed | 0.00034 seconds |
38
+ ./spec/models/lab_tech/percentile_spec.rb[1:2:4] | passed | 0.00033 seconds |
39
+ ./spec/models/lab_tech/percentile_spec.rb[1:2:5] | passed | 0.00036 seconds |
40
+ ./spec/models/lab_tech/percentile_spec.rb[1:3:1] | passed | 0.00042 seconds |
41
+ ./spec/models/lab_tech/percentile_spec.rb[1:3:2] | passed | 0.00042 seconds |
42
+ ./spec/models/lab_tech/percentile_spec.rb[1:3:3] | passed | 0.00043 seconds |
43
+ ./spec/models/lab_tech/percentile_spec.rb[1:3:4] | passed | 0.00045 seconds |
44
+ ./spec/models/lab_tech/percentile_spec.rb[1:3:5] | passed | 0.0005 seconds |
45
+ ./spec/models/lab_tech/result_spec.rb[1:1:1] | passed | 0.01439 seconds |
46
+ ./spec/models/lab_tech/result_spec.rb[1:1:2:1:1] | passed | 0.01034 seconds |
47
+ ./spec/models/lab_tech/result_spec.rb[1:1:2:2:1] | passed | 0.00937 seconds |
48
+ ./spec/models/lab_tech/result_spec.rb[1:1:2:3:1] | passed | 0.00928 seconds |
49
+ ./spec/models/lab_tech/result_spec.rb[1:1:2:3:2] | passed | 0.00961 seconds |
50
+ ./spec/models/lab_tech/result_spec.rb[1:1:2:4:1] | passed | 0.02164 seconds |
51
+ ./spec/models/lab_tech/result_spec.rb[1:1:3:1] | passed | 0.01739 seconds |
52
+ ./spec/models/lab_tech/result_spec.rb[1:1:4:1] | passed | 0.01178 seconds |
53
+ ./spec/models/lab_tech/result_spec.rb[1:1:5:1] | passed | 0.01725 seconds |
54
+ ./spec/models/lab_tech/result_spec.rb[1:1:6] | passed | 0.01156 seconds |
55
+ ./spec/models/lab_tech/speedup_spec.rb[1:1] | passed | 0.00192 seconds |
56
+ ./spec/models/lab_tech/speedup_spec.rb[1:2] | passed | 0.00043 seconds |
57
+ ./spec/models/lab_tech/speedup_spec.rb[1:3] | passed | 0.00046 seconds |
58
+ ./spec/models/lab_tech/speedup_spec.rb[1:4] | passed | 0.0004 seconds |
59
+ ./spec/models/lab_tech/speedup_spec.rb[1:5] | passed | 0.00054 seconds |
60
+ ./spec/models/lab_tech/speedup_spec.rb[1:6] | passed | 0.00053 seconds |
61
+ ./spec/models/lab_tech/speedup_spec.rb[1:7] | passed | 0.00074 seconds |
62
+ ./spec/models/lab_tech/speedup_spec.rb[1:8] | passed | 0.00042 seconds |
63
+ ./spec/models/lab_tech/speedup_spec.rb[1:9] | passed | 0.00068 seconds |
64
+ ./spec/models/lab_tech/speedup_spec.rb[1:10] | passed | 0.00057 seconds |
65
+ ./spec/models/lab_tech/speedup_spec.rb[1:11] | passed | 0.00047 seconds |
66
+ ./spec/models/lab_tech/speedup_spec.rb[1:12] | passed | 0.00058 seconds |
67
+ ./spec/models/lab_tech/speedup_spec.rb[1:13] | passed | 0.00056 seconds |
68
+ ./spec/models/lab_tech/summary_spec.rb[1:1:1] | passed | 0.00452 seconds |
69
+ ./spec/models/lab_tech/summary_spec.rb[1:2:1] | passed | 0.0245 seconds |
70
+ ./spec/models/lab_tech/summary_spec.rb[1:3:1] | passed | 0.0205 seconds |
71
+ ./spec/models/lab_tech/summary_spec.rb[1:4:1] | passed | 0.01767 seconds |
72
+ ./spec/models/lab_tech/summary_spec.rb[1:5:1] | passed | 0.01795 seconds |
73
+ ./spec/models/lab_tech/summary_spec.rb[1:5:2] | passed | 0.01774 seconds |
74
+ ./spec/models/lab_tech/summary_spec.rb[1:6:1:1] | passed | 0.01794 seconds |
75
+ ./spec/models/lab_tech/summary_spec.rb[1:6:1:2] | passed | 0.01742 seconds |
76
+ ./spec/models/lab_tech/summary_spec.rb[1:6:2:1] | passed | 0.02218 seconds |
77
+ ./spec/models/lab_tech/summary_spec.rb[1:6:3:1] | passed | 0.02999 seconds |
78
+ ./spec/models/lab_tech/summary_spec.rb[1:6:4:1] | passed | 0.0679 seconds |
79
+ ./spec/models/lab_tech/summary_spec.rb[1:6:4:2] | passed | 0.05004 seconds |
80
+ ./spec/models/lab_tech/summary_spec.rb[1:6:4:3] | passed | 0.04788 seconds |
81
+ ./spec/models/lab_tech/summary_spec.rb[1:6:5:1] | passed | 0.07049 seconds |
82
+ ./spec/models/lab_tech/summary_spec.rb[1:6:6:1] | passed | 0.2158 seconds |
83
+ ./spec/models/lab_tech_spec.rb[1:1:1] | passed | 0.00087 seconds |
@@ -49,7 +49,9 @@ RSpec.describe LabTech::Experiment do
49
49
  end
50
50
 
51
51
  it "records the results when the experiment is run" do
52
- expect( LabTech::Result ).to receive( :record_a_science ).with( experiment, instance_of(Scientist::Result) )
52
+ expect( LabTech::Result ).to \
53
+ receive( :record_a_science ) \
54
+ .with( experiment, instance_of(Scientist::Result), anything )
53
55
 
54
56
  LabTech.science "wibble" do |e|
55
57
  e.use { :wibble }
@@ -90,6 +92,36 @@ RSpec.describe LabTech::Experiment do
90
92
  end
91
93
  end
92
94
 
95
+ describe "diff-generating behavior" do
96
+ let(:result) { experiment.results.first }
97
+
98
+ specify "if a #diff block IS provided, it is used" do
99
+ LabTech.science "wibble" do |e|
100
+ e.use { :control }
101
+ e.try { :candidate }
102
+
103
+ e.diff { |control, candidate| "this is a diff" }
104
+ end
105
+
106
+ result = experiment.results.first
107
+ expect( result ).to be_kind_of( LabTech::Result )
108
+
109
+ expect( result.control .diff ).to be_blank # because it's the reference against which candidates are diffed
110
+ expect( result.candidates.first .diff ).to eq( "this is a diff" )
111
+ end
112
+
113
+ specify "if a #diff block IS NOT provided, nothing untoward occurs" do
114
+ LabTech.science "wibble" do |e|
115
+ e.use { :control }
116
+ e.try { :candidate }
117
+ end
118
+
119
+ result = experiment.results.first
120
+ expect( result.control .diff ).to be_blank # because it's the reference against which candidates are diffed
121
+ expect( result.candidates.first .diff ).to be_blank # because no block was provided
122
+ end
123
+ end
124
+
93
125
  describe "result counts" do
94
126
  specify "when results are equivalent" do
95
127
  LabTech.science "wibble" do |e|
@@ -104,7 +136,38 @@ RSpec.describe LabTech::Experiment do
104
136
  expect( experiment.other_error_count ).to eq( 0 )
105
137
  end
106
138
  end
107
- end
139
+ end
140
+
141
+ describe "summary output" do
142
+ before do
143
+ LabTech.science "wibble" do |e|
144
+ e.use { :wibble } ; e.try { :wibble }
145
+ end
146
+ LabTech.science "wibble" do |e|
147
+ e.use { :wibble } ; e.try { :florp }
148
+ end
149
+ LabTech.science "wibble" do |e|
150
+ e.use { :wibble } ; e.try { fail "nope" }
151
+ end
152
+ end
153
+
154
+ specify "compare_mismatches" do
155
+ io = StringIO.new
156
+ LabTech.compare_mismatches "wibble", io: io
157
+ out = io.string
158
+ expect(out).to match( /Comparing results for wibble:/ )
159
+ expect(out).to match( /control # => :wibble/ )
160
+ expect(out).to match( /candidate # => :florp/ )
161
+ end
162
+
163
+ specify "summarize_errors" do
164
+ io = StringIO.new
165
+ LabTech.summarize_errors "wibble", io: io
166
+ out = io.string
167
+ expect(out).to match( /Summarizing errors for wibble:/ )
168
+ expect(out).to include( " * RuntimeError: nope" )
169
+ end
170
+ end
108
171
  end
109
172
  end
110
173
  end
@@ -12,20 +12,6 @@ RSpec.describe LabTech::Summary do
12
12
  e.try { cand.respond_to?(:call) ? cand.call : cand }
13
13
  end
14
14
 
15
- #######################################
16
-
17
- ######## ##### ###### #####
18
- ## ## ## ## ## ## ##
19
- ## ## ## ## ## ## ##
20
- ## ## ## ## ## ## ##
21
- ## ## ## ## ## ## ##
22
- ## ## ## ## ## ## ##
23
- ## ##### ###### #####
24
-
25
- #######################################
26
- # TODO: use Scientist's fabricate_durations_for_testing_purposes to make
27
- # the below comment (and code?) unnecessary
28
- #######################################
29
15
  # Don't bother stubbing Scientist's clock; you'll get the wrong results 50%
30
16
  # of the time because it runs the `try` and `use` blocks in random order,
31
17
  # and then you'll be very very confused.
@@ -45,7 +31,7 @@ RSpec.describe LabTech::Summary do
45
31
 
46
32
  if baseline && comparison && speedup_factor
47
33
  result = experiment.results.last
48
- result.update_attributes({
34
+ result.update({
49
35
  control_duration: baseline,
50
36
  candidate_duration: comparison,
51
37
  speedup_factor: speedup_factor,
@@ -53,8 +39,8 @@ RSpec.describe LabTech::Summary do
53
39
  })
54
40
 
55
41
  # Technically, we only needed to update the result... but for consistency, let's update the observations too.
56
- result.control .update_attributes duration: baseline
57
- result.candidates.first .update_attributes duration: comparison
42
+ result.control .update duration: baseline
43
+ result.candidates.first .update duration: comparison
58
44
  end
59
45
 
60
46
  end # LabTech.publish_results_in_test_mode do
metadata CHANGED
@@ -1,29 +1,35 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lab_tech
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sam Livingston-Gray
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-08-23 00:00:00.000000000 Z
11
+ date: 2021-02-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - "~>"
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: 5.1.0
20
+ - - "<"
18
21
  - !ruby/object:Gem::Version
19
- version: '5.1'
22
+ version: 6.1.0
20
23
  type: :runtime
21
24
  prerelease: false
22
25
  version_requirements: !ruby/object:Gem::Requirement
23
26
  requirements:
24
- - - "~>"
27
+ - - ">="
28
+ - !ruby/object:Gem::Version
29
+ version: 5.1.0
30
+ - - "<"
25
31
  - !ruby/object:Gem::Version
26
- version: '5.1'
32
+ version: 6.1.0
27
33
  - !ruby/object:Gem::Dependency
28
34
  name: scientist
29
35
  requirement: !ruby/object:Gem::Requirement
@@ -58,14 +64,14 @@ dependencies:
58
64
  requirements:
59
65
  - - "~>"
60
66
  - !ruby/object:Gem::Version
61
- version: '3.8'
67
+ version: '4.0'
62
68
  type: :development
63
69
  prerelease: false
64
70
  version_requirements: !ruby/object:Gem::Requirement
65
71
  requirements:
66
72
  - - "~>"
67
73
  - !ruby/object:Gem::Version
68
- version: '3.8'
74
+ version: '4.0'
69
75
  - !ruby/object:Gem::Dependency
70
76
  name: awesome_print
71
77
  requirement: !ruby/object:Gem::Requirement
@@ -113,8 +119,11 @@ files:
113
119
  - app/models/lab_tech/result.rb
114
120
  - app/models/lab_tech/speedup.rb
115
121
  - app/models/lab_tech/summary.rb
122
+ - app/models/lab_tech/summary/count.rb
123
+ - app/models/lab_tech/summary/speedup_line.rb
116
124
  - config/routes.rb
117
125
  - db/migrate/20190815192130_create_experiment_tables.rb
126
+ - db/migrate/20210205225332_add_observation_diff.rb
118
127
  - lib/lab_tech.rb
119
128
  - lib/lab_tech/engine.rb
120
129
  - lib/lab_tech/version.rb
@@ -150,6 +159,7 @@ files:
150
159
  - spec/dummy/config/puma.rb
151
160
  - spec/dummy/config/routes.rb
152
161
  - spec/dummy/config/spring.rb
162
+ - spec/dummy/db/development.sqlite3
153
163
  - spec/dummy/db/schema.rb
154
164
  - spec/dummy/db/test.sqlite3
155
165
  - spec/dummy/log/development.log
@@ -169,7 +179,7 @@ homepage: https://github.com/RealGeeks/lab_tech
169
179
  licenses:
170
180
  - MIT
171
181
  metadata: {}
172
- post_install_message:
182
+ post_install_message:
173
183
  rdoc_options: []
174
184
  require_paths:
175
185
  - lib
@@ -185,7 +195,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
185
195
  version: '0'
186
196
  requirements: []
187
197
  rubygems_version: 3.0.3
188
- signing_key:
198
+ signing_key:
189
199
  specification_version: 4
190
200
  summary: Tools for using GitHub's 'Scientist' library with ActiveRecord, for those
191
201
  of us not operating apps at ROFLscale
@@ -224,6 +234,7 @@ test_files:
224
234
  - spec/dummy/Rakefile
225
235
  - spec/dummy/db/schema.rb
226
236
  - spec/dummy/db/test.sqlite3
237
+ - spec/dummy/db/development.sqlite3
227
238
  - spec/dummy/log/test.log
228
239
  - spec/dummy/log/development.log
229
240
  - spec/examples.txt