measured 2.8.1 → 3.0.0

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.
Files changed (41) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/ci.yml +11 -5
  3. data/.github/workflows/cla.yml +23 -0
  4. data/.ruby-version +1 -0
  5. data/CHANGELOG.md +13 -0
  6. data/Gemfile +2 -0
  7. data/README.md +114 -4
  8. data/cache/volume.json +532 -0
  9. data/dev.yml +1 -2
  10. data/gemfiles/{activesupport-6.0.gemfile → rails-6.0.gemfile} +1 -0
  11. data/gemfiles/{activesupport-6.1.gemfile → rails-6.1.gemfile} +1 -0
  12. data/gemfiles/rails-7.0.gemfile +6 -0
  13. data/gemfiles/rails-edge.gemfile +6 -0
  14. data/lib/measured/measurable.rb +3 -1
  15. data/lib/measured/rails/active_record.rb +130 -0
  16. data/lib/measured/rails/validations.rb +68 -0
  17. data/lib/measured/railtie.rb +12 -0
  18. data/lib/measured/units/volume.rb +2 -0
  19. data/lib/measured/units/weight.rb +1 -1
  20. data/lib/measured/version.rb +1 -1
  21. data/lib/measured.rb +2 -0
  22. data/lib/tapioca/dsl/compilers/measured_rails.rb +110 -0
  23. data/measured.gemspec +5 -0
  24. data/test/internal/app/models/thing.rb +14 -0
  25. data/test/internal/app/models/thing_with_custom_unit_accessor.rb +18 -0
  26. data/test/internal/app/models/thing_with_custom_value_accessor.rb +19 -0
  27. data/test/internal/app/models/validated_thing.rb +45 -0
  28. data/test/internal/config/database.yml +3 -0
  29. data/test/internal/config.ru +9 -0
  30. data/test/internal/db/.gitignore +1 -0
  31. data/test/internal/db/schema.rb +99 -0
  32. data/test/internal/log/.gitignore +1 -0
  33. data/test/measurable_test.rb +4 -0
  34. data/test/rails/active_record_test.rb +433 -0
  35. data/test/rails/validation_test.rb +252 -0
  36. data/test/tapioca/dsl/compilers/measured_rails_test.rb +220 -0
  37. data/test/test_helper.rb +15 -0
  38. data/test/units/volume_test.rb +107 -1
  39. data/test/units/weight_test.rb +3 -1
  40. metadata +80 -7
  41. data/gemfiles/activesupport-5.2.gemfile +0 -5
@@ -0,0 +1,220 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+ require "test_helper"
5
+ require "tapioca/internal"
6
+ require "tapioca/helpers/test/dsl_compiler"
7
+ require "tapioca/dsl/compilers/measured_rails"
8
+
9
+ module Tapioca
10
+ module Dsl
11
+ module Compilers
12
+ class MeasuredRailsTest < ActiveSupport::TestCase
13
+ include Tapioca::Helpers::Test::DslCompiler
14
+
15
+ setup do
16
+ use_dsl_compiler(Tapioca::Dsl::Compilers::MeasuredRails)
17
+ end
18
+
19
+ test "#initialize gathers only ActiveRecord subclasses" do
20
+ add_ruby_file("content.rb", <<~RUBY)
21
+ class Post < ActiveRecord::Base
22
+ end
23
+ class Current
24
+ end
25
+ RUBY
26
+
27
+ assert_includes(gathered_constants, "Post")
28
+ refute_includes(gathered_constants, "Current")
29
+ end
30
+
31
+ test "generates empty RBI file if there are no measured fields" do
32
+ add_ruby_file("package.rb", <<~RUBY)
33
+ class Package < ActiveRecord::Base
34
+ end
35
+ RUBY
36
+
37
+ expected = <<~RBI
38
+ # typed: strong
39
+ RBI
40
+
41
+ assert_equal(expected, rbi_for(:Package))
42
+ end
43
+
44
+ test "generates RBI file for measured method" do
45
+ add_ruby_file("schema.rb", <<~RUBY)
46
+ ActiveRecord::Migration.suppress_messages do
47
+ ActiveRecord::Schema.define do
48
+ create_table :packages, force: :cascade do |t|
49
+ t.decimal :minimum_weight_value, precision: 10, scale: 2
50
+ t.string :minimum_weight_unit, limit: 12
51
+ t.decimal :total_length_value, precision: 10, scale: 2, default: 0
52
+ t.string :total_length_unit, limit: 12, default: "cm"
53
+ t.decimal :total_volume_value, precision: 10, scale: 2, default: 0
54
+ t.string :total_volume_unit, limit: 12, default: "l"
55
+ end
56
+ end
57
+ end
58
+ RUBY
59
+
60
+ add_ruby_file("package.rb", <<~RUBY)
61
+ class Package < ActiveRecord::Base
62
+ measured Measured::Weight, :minimum_weight
63
+ measured Measured::Length, :total_length
64
+ measured Measured::Volume, :total_volume
65
+ end
66
+ RUBY
67
+
68
+ expected = <<~RBI
69
+ # typed: strong
70
+
71
+ class Package
72
+ include GeneratedMeasuredRailsMethods
73
+
74
+ module GeneratedMeasuredRailsMethods
75
+ sig { returns(T.nilable(::Measured::Weight)) }
76
+ def minimum_weight; end
77
+
78
+ sig { params(value: T.nilable(::Measured::Weight)).void }
79
+ def minimum_weight=(value); end
80
+
81
+ sig { returns(T.nilable(::Measured::Length)) }
82
+ def total_length; end
83
+
84
+ sig { params(value: T.nilable(::Measured::Length)).void }
85
+ def total_length=(value); end
86
+
87
+ sig { returns(T.nilable(::Measured::Volume)) }
88
+ def total_volume; end
89
+
90
+ sig { params(value: T.nilable(::Measured::Volume)).void }
91
+ def total_volume=(value); end
92
+ end
93
+ end
94
+ RBI
95
+
96
+ assert_equal(expected, rbi_for(:Package))
97
+ end
98
+
99
+ test "generates RBI file for measured_weight method" do
100
+ add_ruby_file("schema.rb", <<~RUBY)
101
+ ActiveRecord::Migration.suppress_messages do
102
+ ActiveRecord::Schema.define do
103
+ create_table :packages, force: :cascade do |t|
104
+ t.decimal :minimum_weight_value, precision: 10, scale: 2
105
+ t.string :minimum_weight_unit, limit: 12
106
+ t.decimal :total_length_value, precision: 10, scale: 2, default: 0
107
+ t.string :total_length_unit, limit: 12, default: "cm"
108
+ t.decimal :total_volume_value, precision: 10, scale: 2, default: 0
109
+ t.string :total_volume_unit, limit: 12, default: "l"
110
+ end
111
+ end
112
+ end
113
+ RUBY
114
+
115
+ add_ruby_file("package.rb", <<~RUBY)
116
+ class Package < ActiveRecord::Base
117
+ measured_weight :minimum_weight
118
+ end
119
+ RUBY
120
+
121
+ expected = <<~RBI
122
+ # typed: strong
123
+
124
+ class Package
125
+ include GeneratedMeasuredRailsMethods
126
+
127
+ module GeneratedMeasuredRailsMethods
128
+ sig { returns(T.nilable(::Measured::Weight)) }
129
+ def minimum_weight; end
130
+
131
+ sig { params(value: T.nilable(::Measured::Weight)).void }
132
+ def minimum_weight=(value); end
133
+ end
134
+ end
135
+ RBI
136
+
137
+ assert_equal(expected, rbi_for(:Package))
138
+ end
139
+
140
+ test "generates RBI file for measured_length method" do
141
+ add_ruby_file("schema.rb", <<~RUBY)
142
+ ActiveRecord::Migration.suppress_messages do
143
+ ActiveRecord::Schema.define do
144
+ create_table :packages, force: :cascade do |t|
145
+ t.decimal :minimum_weight_value, precision: 10, scale: 2
146
+ t.string :minimum_weight_unit, limit: 12
147
+ t.decimal :total_length_value, precision: 10, scale: 2, default: 0
148
+ t.string :total_length_unit, limit: 12, default: "cm"
149
+ t.decimal :total_volume_value, precision: 10, scale: 2, default: 0
150
+ t.string :total_volume_unit, limit: 12, default: "l"
151
+ end
152
+ end
153
+ end
154
+ RUBY
155
+
156
+ add_ruby_file("package.rb", <<~RUBY)
157
+ class Package < ActiveRecord::Base
158
+ measured_length :total_length
159
+ end
160
+ RUBY
161
+
162
+ expected = <<~RBI
163
+ # typed: strong
164
+
165
+ class Package
166
+ include GeneratedMeasuredRailsMethods
167
+
168
+ module GeneratedMeasuredRailsMethods
169
+ sig { returns(T.nilable(::Measured::Length)) }
170
+ def total_length; end
171
+
172
+ sig { params(value: T.nilable(::Measured::Length)).void }
173
+ def total_length=(value); end
174
+ end
175
+ end
176
+ RBI
177
+
178
+ assert_equal(expected, rbi_for(:Package))
179
+ end
180
+
181
+ test "generates RBI file for measured_volume method" do
182
+ add_ruby_file("schema.rb", <<~RUBY)
183
+ ActiveRecord::Migration.suppress_messages do
184
+ ActiveRecord::Schema.define do
185
+ create_table :packages, force: :cascade do |t|
186
+ t.decimal :total_volume_value, precision: 10, scale: 2, default: 0
187
+ t.string :total_volume_unit, limit: 12, default: "l"
188
+ end
189
+ end
190
+ end
191
+ RUBY
192
+
193
+ add_ruby_file("package.rb", <<~RUBY)
194
+ class Package < ActiveRecord::Base
195
+ measured_volume :total_volume
196
+ end
197
+ RUBY
198
+
199
+ expected = <<~RBI
200
+ # typed: strong
201
+
202
+ class Package
203
+ include GeneratedMeasuredRailsMethods
204
+
205
+ module GeneratedMeasuredRailsMethods
206
+ sig { returns(T.nilable(::Measured::Volume)) }
207
+ def total_volume; end
208
+
209
+ sig { params(value: T.nilable(::Measured::Volume)).void }
210
+ def total_volume=(value); end
211
+ end
212
+ end
213
+ RBI
214
+
215
+ assert_equal(expected, rbi_for(:Package))
216
+ end
217
+ end
218
+ end
219
+ end
220
+ end
data/test/test_helper.rb CHANGED
@@ -1,5 +1,9 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  require "pry" unless ENV["CI"]
4
+ require "combustion"
5
+ Combustion.path = "test/internal"
6
+ Combustion.initialize! :active_record, :active_model
3
7
  require "measured"
4
8
  require "minitest/reporters"
5
9
  require "minitest/autorun"
@@ -7,6 +11,13 @@ require "mocha/minitest"
7
11
 
8
12
  ActiveSupport.test_order = :random
9
13
 
14
+ # Prevent two reporters from printing
15
+ # https://github.com/kern/minitest-reporters/issues/230
16
+ # https://github.com/rails/rails/issues/30491
17
+ Minitest.load_plugins
18
+ Minitest.extensions.delete('rails')
19
+ Minitest.extensions.unshift('rails')
20
+
10
21
  Minitest::Reporters.use! [Minitest::Reporters::ProgressReporter.new(color: true)]
11
22
 
12
23
  require "support/subclasses"
@@ -44,4 +55,8 @@ class ActiveSupport::TestCase
44
55
  error = assert_raise(exception) { yield }
45
56
  assert_equal expected_message, error.message, "Exception #{exception} raised but messages are not equal"
46
57
  end
58
+
59
+ def reset_db
60
+ Combustion::Database::LoadSchema.call
61
+ end
47
62
  end
@@ -19,6 +19,16 @@ class Measured::VolumeTest < ActiveSupport::TestCase
19
19
  liters
20
20
  litres
21
21
  ft3
22
+ cm3
23
+ cubic_centimeter
24
+ cubic_centimeters
25
+ cubic_centimetre
26
+ cubic_centimetres
27
+ mm3
28
+ cubic_millimeter
29
+ cubic_millimeters
30
+ cubic_millimetre
31
+ cubic_millimetres
22
32
  cubic_foot
23
33
  cubic_feet
24
34
  in3
@@ -67,7 +77,7 @@ class Measured::VolumeTest < ActiveSupport::TestCase
67
77
  end
68
78
 
69
79
  test ".unit_names should be the list of base unit names" do
70
- expected_units = %w(l m3 ft3 in3 gal us_gal qt us_qt pt us_pt oz us_oz)
80
+ expected_units = %w(l m3 ft3 in3 gal us_gal qt us_qt pt us_pt oz us_oz mm3 cm3)
71
81
  expected_units += Measured::UnitSystemBuilder::SI_PREFIXES.map { |short, _, _| "#{short}l" }
72
82
  assert_equal expected_units.sort, Measured::Volume.unit_names
73
83
  end
@@ -124,6 +134,102 @@ class Measured::VolumeTest < ActiveSupport::TestCase
124
134
  test ".convert_to from us_oz to us_oz" do
125
135
  assert_conversion Measured::Volume, "2000 us_oz", "2000 us_oz"
126
136
  end
137
+
138
+ test ".convert_to from mm3 to mm3" do
139
+ assert_conversion Measured::Volume, "20000 mm3", "20000 mm3"
140
+ end
141
+
142
+ test ".convert_to from cm3 to cm3" do
143
+ assert_conversion Measured::Volume, "20000 cm3", "20000 cm3"
144
+ end
145
+
146
+ test ".convert_to from mm3 to m3" do
147
+ assert_conversion Measured::Volume, "20000 mm3", "0.00002 m3"
148
+ end
149
+
150
+ test ".convert_to from mm3 to ft3" do
151
+ assert_conversion Measured::Volume, "20000 mm3", "0.00070629333 ft3"
152
+ end
153
+
154
+ test ".convert_to from mm3 to in3" do
155
+ assert_conversion Measured::Volume, "20000 mm3", "1.2204749 in3"
156
+ end
157
+
158
+ test ".convert_to from mm3 to gal" do
159
+ assert_conversion Measured::Volume, "20000 mm3", "0.004399384965981756 gal"
160
+ end
161
+
162
+ test ".convert_to from mm3 to us_gal" do
163
+ assert_conversion Measured::Volume, "20000 mm3", "0.005283441047162969 us_gal"
164
+ end
165
+
166
+ test ".convert_to from mm3 to qt" do
167
+ assert_conversion Measured::Volume, "20000 mm3", "0.01759754 qt"
168
+ end
169
+
170
+ test ".convert_to from mm3 to us_qt" do
171
+ assert_conversion Measured::Volume, "20000 mm3", "0.021133764 us_qt"
172
+ end
173
+
174
+ test ".convert_to from mm3 to pt" do
175
+ assert_conversion Measured::Volume, "20000 mm3", "0.03519508 pt"
176
+ end
177
+
178
+ test ".convert_to from mm3 to us_pt" do
179
+ assert_conversion Measured::Volume, "20000 mm3", "0.042267528 us_pt"
180
+ end
181
+
182
+ test ".convert_to from mm3 to oz" do
183
+ assert_conversion Measured::Volume, "20000 mm3", "0.70390159 oz"
184
+ end
185
+
186
+ test ".convert_to from mm3 to us_oz" do
187
+ assert_conversion Measured::Volume, "20000 mm3", "0.67628045 us_oz"
188
+ end
189
+
190
+ test ".convert_to from cm3 to m3" do
191
+ assert_conversion Measured::Volume, "20000 cm3", "0.02 m3"
192
+ end
193
+
194
+ test ".convert_to from cm3 to ft3" do
195
+ assert_conversion Measured::Volume, "20000 cm3", "0.70629333 ft3"
196
+ end
197
+
198
+ test ".convert_to from cm3 to in3" do
199
+ assert_conversion Measured::Volume, "20000 cm3", "1220.4748818946457 in3"
200
+ end
201
+
202
+ test ".convert_to from cm3 to gal" do
203
+ assert_conversion Measured::Volume, "20000 cm3", "4.399384965981756 gal"
204
+ end
205
+
206
+ test ".convert_to from cm3 to us_gal" do
207
+ assert_conversion Measured::Volume, "20000 cm3", "5.283441047162969 us_gal"
208
+ end
209
+
210
+ test ".convert_to from cm3 to qt" do
211
+ assert_conversion Measured::Volume, "20000 cm3", "17.59754 qt"
212
+ end
213
+
214
+ test ".convert_to from cm3 to us_qt" do
215
+ assert_conversion Measured::Volume, "20000 cm3", "21.133764 us_qt"
216
+ end
217
+
218
+ test ".convert_to from cm3 to pt" do
219
+ assert_conversion Measured::Volume, "20000 cm3", "35.19508 pt"
220
+ end
221
+
222
+ test ".convert_to from cm3 to us_pt" do
223
+ assert_conversion Measured::Volume, "20000 cm3", "42.267528 us_pt"
224
+ end
225
+
226
+ test ".convert_to from cm3 to oz" do
227
+ assert_conversion Measured::Volume, "20000 cm3", "703.9015945570809 oz"
228
+ end
229
+
230
+ test ".convert_to from cm3 to us_oz" do
231
+ assert_conversion Measured::Volume, "20000 cm3", "676.28045403686 us_oz"
232
+ end
127
233
 
128
234
  test ".convert_to from ml to m3" do
129
235
  assert_conversion Measured::Volume, "2000 ml", "0.002 m3"
@@ -15,6 +15,8 @@ class Measured::WeightTest < ActiveSupport::TestCase
15
15
  g
16
16
  gram
17
17
  grams
18
+ gm
19
+ gms
18
20
  imperial_ton
19
21
  imperial_tons
20
22
  lb
@@ -39,7 +41,7 @@ class Measured::WeightTest < ActiveSupport::TestCase
39
41
  weight_tons
40
42
  )
41
43
  expected_units += Measured::UnitSystemBuilder::SI_PREFIXES.flat_map do |short, long, _|
42
- ["#{short}g", "#{long}gram", "#{long}grams"]
44
+ ["#{short}g", "#{long}gram", "#{long}grams", "#{long}gm", "#{long}gms"]
43
45
  end
44
46
 
45
47
  assert_equal expected_units.sort, Measured::Weight.unit_names_with_aliases
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: measured
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.8.1
4
+ version: 3.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kevin McPhillips
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2021-12-07 00:00:00.000000000 Z
13
+ date: 2024-04-19 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: activesupport
@@ -96,6 +96,48 @@ dependencies:
96
96
  - - ">="
97
97
  - !ruby/object:Gem::Version
98
98
  version: '0'
99
+ - !ruby/object:Gem::Dependency
100
+ name: combustion
101
+ requirement: !ruby/object:Gem::Requirement
102
+ requirements:
103
+ - - ">="
104
+ - !ruby/object:Gem::Version
105
+ version: '0'
106
+ type: :development
107
+ prerelease: false
108
+ version_requirements: !ruby/object:Gem::Requirement
109
+ requirements:
110
+ - - ">="
111
+ - !ruby/object:Gem::Version
112
+ version: '0'
113
+ - !ruby/object:Gem::Dependency
114
+ name: sqlite3
115
+ requirement: !ruby/object:Gem::Requirement
116
+ requirements:
117
+ - - "~>"
118
+ - !ruby/object:Gem::Version
119
+ version: '1.4'
120
+ type: :development
121
+ prerelease: false
122
+ version_requirements: !ruby/object:Gem::Requirement
123
+ requirements:
124
+ - - "~>"
125
+ - !ruby/object:Gem::Version
126
+ version: '1.4'
127
+ - !ruby/object:Gem::Dependency
128
+ name: tapioca
129
+ requirement: !ruby/object:Gem::Requirement
130
+ requirements:
131
+ - - ">="
132
+ - !ruby/object:Gem::Version
133
+ version: '0'
134
+ type: :development
135
+ prerelease: false
136
+ version_requirements: !ruby/object:Gem::Requirement
137
+ requirements:
138
+ - - ">="
139
+ - !ruby/object:Gem::Version
140
+ version: '0'
99
141
  description: Wrapper objects which encapsulate measurements and their associated units
100
142
  in Ruby.
101
143
  email:
@@ -105,7 +147,9 @@ extensions: []
105
147
  extra_rdoc_files: []
106
148
  files:
107
149
  - ".github/workflows/ci.yml"
150
+ - ".github/workflows/cla.yml"
108
151
  - ".gitignore"
152
+ - ".ruby-version"
109
153
  - CHANGELOG.md
110
154
  - Gemfile
111
155
  - LICENSE
@@ -116,9 +160,10 @@ files:
116
160
  - cache/volume.json
117
161
  - cache/weight.json
118
162
  - dev.yml
119
- - gemfiles/activesupport-5.2.gemfile
120
- - gemfiles/activesupport-6.0.gemfile
121
- - gemfiles/activesupport-6.1.gemfile
163
+ - gemfiles/rails-6.0.gemfile
164
+ - gemfiles/rails-6.1.gemfile
165
+ - gemfiles/rails-7.0.gemfile
166
+ - gemfiles/rails-edge.gemfile
122
167
  - lib/measured.rb
123
168
  - lib/measured/arithmetic.rb
124
169
  - lib/measured/base.rb
@@ -130,6 +175,9 @@ files:
130
175
  - lib/measured/measurable.rb
131
176
  - lib/measured/missing_conversion_path.rb
132
177
  - lib/measured/parser.rb
178
+ - lib/measured/rails/active_record.rb
179
+ - lib/measured/rails/validations.rb
180
+ - lib/measured/railtie.rb
133
181
  - lib/measured/unit.rb
134
182
  - lib/measured/unit_already_added.rb
135
183
  - lib/measured/unit_error.rb
@@ -139,6 +187,7 @@ files:
139
187
  - lib/measured/units/volume.rb
140
188
  - lib/measured/units/weight.rb
141
189
  - lib/measured/version.rb
190
+ - lib/tapioca/dsl/compilers/measured_rails.rb
142
191
  - measured.gemspec
143
192
  - shipit.rubygems.yml
144
193
  - test/arithmetic_test.rb
@@ -147,11 +196,23 @@ files:
147
196
  - test/cache/null_test.rb
148
197
  - test/cache_consistency_test.rb
149
198
  - test/conversion_table_builder_test.rb
199
+ - test/internal/app/models/thing.rb
200
+ - test/internal/app/models/thing_with_custom_unit_accessor.rb
201
+ - test/internal/app/models/thing_with_custom_value_accessor.rb
202
+ - test/internal/app/models/validated_thing.rb
203
+ - test/internal/config.ru
204
+ - test/internal/config/database.yml
205
+ - test/internal/db/.gitignore
206
+ - test/internal/db/schema.rb
207
+ - test/internal/log/.gitignore
150
208
  - test/measurable_test.rb
151
209
  - test/parser_test.rb
210
+ - test/rails/active_record_test.rb
211
+ - test/rails/validation_test.rb
152
212
  - test/support/always_true_cache.rb
153
213
  - test/support/fake_system.rb
154
214
  - test/support/subclasses.rb
215
+ - test/tapioca/dsl/compilers/measured_rails_test.rb
155
216
  - test/test_helper.rb
156
217
  - test/unit_error_test.rb
157
218
  - test/unit_system_builder_test.rb
@@ -173,14 +234,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
173
234
  requirements:
174
235
  - - ">="
175
236
  - !ruby/object:Gem::Version
176
- version: '0'
237
+ version: 3.0.0
177
238
  required_rubygems_version: !ruby/object:Gem::Requirement
178
239
  requirements:
179
240
  - - ">="
180
241
  - !ruby/object:Gem::Version
181
242
  version: '0'
182
243
  requirements: []
183
- rubygems_version: 3.2.20
244
+ rubygems_version: 3.5.9
184
245
  signing_key:
185
246
  specification_version: 4
186
247
  summary: Encapsulate measurements with their units in Ruby
@@ -191,11 +252,23 @@ test_files:
191
252
  - test/cache/null_test.rb
192
253
  - test/cache_consistency_test.rb
193
254
  - test/conversion_table_builder_test.rb
255
+ - test/internal/app/models/thing.rb
256
+ - test/internal/app/models/thing_with_custom_unit_accessor.rb
257
+ - test/internal/app/models/thing_with_custom_value_accessor.rb
258
+ - test/internal/app/models/validated_thing.rb
259
+ - test/internal/config.ru
260
+ - test/internal/config/database.yml
261
+ - test/internal/db/.gitignore
262
+ - test/internal/db/schema.rb
263
+ - test/internal/log/.gitignore
194
264
  - test/measurable_test.rb
195
265
  - test/parser_test.rb
266
+ - test/rails/active_record_test.rb
267
+ - test/rails/validation_test.rb
196
268
  - test/support/always_true_cache.rb
197
269
  - test/support/fake_system.rb
198
270
  - test/support/subclasses.rb
271
+ - test/tapioca/dsl/compilers/measured_rails_test.rb
199
272
  - test/test_helper.rb
200
273
  - test/unit_error_test.rb
201
274
  - test/unit_system_builder_test.rb
@@ -1,5 +0,0 @@
1
- source 'https://rubygems.org'
2
-
3
- gemspec path: '..'
4
-
5
- gem 'activesupport', '~> 5.2'