measured 2.8.2 → 3.1.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.

Potentially problematic release.


This version of measured might be problematic. Click here for more details.

Files changed (42) hide show
  1. checksums.yaml +4 -4
  2. data/.github/dependabot.yml +20 -0
  3. data/.github/workflows/ci.yml +12 -6
  4. data/.github/workflows/cla.yml +23 -0
  5. data/.github/workflows/dependabot_auto_merge.yml +93 -0
  6. data/.ruby-version +1 -0
  7. data/CHANGELOG.md +13 -0
  8. data/Gemfile +2 -0
  9. data/README.md +114 -4
  10. data/cache/weight.json +230 -0
  11. data/dev.yml +1 -2
  12. data/gemfiles/rails-7.0.gemfile +6 -0
  13. data/gemfiles/rails-7.1.gemfile +6 -0
  14. data/gemfiles/rails-edge.gemfile +6 -0
  15. data/lib/measured/measurable.rb +3 -1
  16. data/lib/measured/rails/active_record.rb +130 -0
  17. data/lib/measured/rails/validations.rb +68 -0
  18. data/lib/measured/railtie.rb +12 -0
  19. data/lib/measured/units/weight.rb +3 -2
  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/weight_test.rb +77 -2
  39. metadata +84 -10
  40. data/gemfiles/activesupport-5.2.gemfile +0 -5
  41. data/gemfiles/activesupport-6.0.gemfile +0 -5
  42. data/gemfiles/activesupport-6.1.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
@@ -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
@@ -23,6 +25,11 @@ class Measured::WeightTest < ActiveSupport::TestCase
23
25
  long_tons
24
26
  metric_ton
25
27
  metric_tons
28
+ tonne
29
+ tonnes
30
+ q
31
+ quintal
32
+ quintals
26
33
  newton
27
34
  newtons
28
35
  ounce
@@ -39,14 +46,14 @@ class Measured::WeightTest < ActiveSupport::TestCase
39
46
  weight_tons
40
47
  )
41
48
  expected_units += Measured::UnitSystemBuilder::SI_PREFIXES.flat_map do |short, long, _|
42
- ["#{short}g", "#{long}gram", "#{long}grams"]
49
+ ["#{short}g", "#{long}gram", "#{long}grams", "#{long}gm", "#{long}gms"]
43
50
  end
44
51
 
45
52
  assert_equal expected_units.sort, Measured::Weight.unit_names_with_aliases
46
53
  end
47
54
 
48
55
  test ".unit_names should be the list of base unit names" do
49
- expected_units = %w(N g lb long_ton oz short_ton slug t)
56
+ expected_units = %w(N g lb long_ton oz short_ton slug t q)
50
57
  expected_units += Measured::UnitSystemBuilder::SI_PREFIXES.map { |short, _, _| "#{short}g" }
51
58
  assert_equal expected_units.sort, Measured::Weight.unit_names
52
59
  end
@@ -96,6 +103,10 @@ class Measured::WeightTest < ActiveSupport::TestCase
96
103
  assert_exact_conversion Measured::Weight, "2000 g", "0.002 t"
97
104
  end
98
105
 
106
+ test ".convert_to from g to q" do
107
+ assert_exact_conversion Measured::Weight, "2000 g", "0.02 q"
108
+ end
109
+
99
110
  test ".convert_to from kg to g" do
100
111
  assert_exact_conversion Measured::Weight, "2000 kg", "2000000 g"
101
112
  end
@@ -132,6 +143,10 @@ class Measured::WeightTest < ActiveSupport::TestCase
132
143
  assert_exact_conversion Measured::Weight, "2000 kg", "2 t"
133
144
  end
134
145
 
146
+ test ".convert_to from kg to q" do
147
+ assert_exact_conversion Measured::Weight, "2000 kg", "20 q"
148
+ end
149
+
135
150
  test ".convert_to from lb to g" do
136
151
  assert_exact_conversion Measured::Weight, "2000 lb", "907184.74 g"
137
152
  end
@@ -168,6 +183,10 @@ class Measured::WeightTest < ActiveSupport::TestCase
168
183
  assert_conversion Measured::Weight, "2000 lb", "0.90718474 t"
169
184
  end
170
185
 
186
+ test ".convert_to from lb to q" do
187
+ assert_conversion Measured::Weight, "2000 lb", "9.0718474 q"
188
+ end
189
+
171
190
  test ".convert_to from oz to g" do
172
191
  assert_conversion Measured::Weight, "2000 oz", "56699.04625 g"
173
192
  end
@@ -204,6 +223,10 @@ class Measured::WeightTest < ActiveSupport::TestCase
204
223
  assert_conversion Measured::Weight, "2000 oz", "0.05669904625 t"
205
224
  end
206
225
 
226
+ test ".convert_to from oz to q" do
227
+ assert_conversion Measured::Weight, "2000 oz", "0.5669904625 q"
228
+ end
229
+
207
230
  test ".convert_to from slug to g" do
208
231
  assert_conversion Measured::Weight, "2000 slug", "29187806 g"
209
232
  end
@@ -240,6 +263,10 @@ class Measured::WeightTest < ActiveSupport::TestCase
240
263
  assert_conversion Measured::Weight, "2000 slug", "29.187806 t"
241
264
  end
242
265
 
266
+ test ".convert_to from slug to q" do
267
+ assert_conversion Measured::Weight, "2000 slug", "291.87806 q"
268
+ end
269
+
243
270
  test ".convert_to from short_ton to g" do
244
271
  assert_conversion Measured::Weight, "2000 short_ton", "1814369480 g"
245
272
  end
@@ -276,6 +303,10 @@ class Measured::WeightTest < ActiveSupport::TestCase
276
303
  assert_conversion Measured::Weight, "2000 short_ton", "1814.36948 t"
277
304
  end
278
305
 
306
+ test ".convert_to from short_ton to q" do
307
+ assert_conversion Measured::Weight, "2000 short_ton", "18143.6948 q"
308
+ end
309
+
279
310
  test ".convert_to from long_ton to g" do
280
311
  assert_conversion Measured::Weight, "2000 long_ton", "2032093817.6 g"
281
312
  end
@@ -312,6 +343,10 @@ class Measured::WeightTest < ActiveSupport::TestCase
312
343
  assert_conversion Measured::Weight, "2000 long_ton", "2032.0938176 t"
313
344
  end
314
345
 
346
+ test ".convert_to from long_ton to q" do
347
+ assert_conversion Measured::Weight, "2000 long_ton", "20320.938176 q"
348
+ end
349
+
315
350
  test ".convert_to from N to g" do
316
351
  assert_conversion Measured::Weight, "2000 N", "203943.24259558567 g"
317
352
  end
@@ -348,6 +383,10 @@ class Measured::WeightTest < ActiveSupport::TestCase
348
383
  assert_conversion Measured::Weight, "2000 N", "0.2039432425955857 t"
349
384
  end
350
385
 
386
+ test ".convert_to from N to q" do
387
+ assert_conversion Measured::Weight, "2000 N", "2.039432425955857 q"
388
+ end
389
+
351
390
  test ".convert_to from t to g" do
352
391
  assert_exact_conversion Measured::Weight, "2000 t", "2000000000 g"
353
392
  end
@@ -375,4 +414,40 @@ class Measured::WeightTest < ActiveSupport::TestCase
375
414
  test ".convert_to from t to t" do
376
415
  assert_conversion Measured::Weight, "2000 t", "2000 t"
377
416
  end
417
+
418
+ test ".convert_to from t to q" do
419
+ assert_conversion Measured::Weight, "2000 t", "20000 q"
420
+ end
421
+
422
+ test ".convert_to from q to g" do
423
+ assert_exact_conversion Measured::Weight, "2000 q", "200000000 g"
424
+ end
425
+
426
+ test ".convert_to from q to kg" do
427
+ assert_exact_conversion Measured::Weight, "2000 q", "200000 kg"
428
+ end
429
+
430
+ test ".convert_to from q to lb" do
431
+ assert_conversion Measured::Weight, "2000 q", "440924.5243697552 lb"
432
+ end
433
+
434
+ test ".convert_to from q to oz" do
435
+ assert_conversion Measured::Weight, "2000 q", "7054792.389916082 oz"
436
+ end
437
+
438
+ test ".convert_to from q to slug" do
439
+ assert_conversion Measured::Weight, "2000 q", "13704.35311239221 slug"
440
+ end
441
+
442
+ test ".convert_to from q to short_ton" do
443
+ assert_conversion Measured::Weight, "2000 q", "220.4622621848 short_ton"
444
+ end
445
+
446
+ test ".convert_to from q to t" do
447
+ assert_conversion Measured::Weight, "2000 q", "200 t"
448
+ end
449
+
450
+ test ".convert_to from q to q" do
451
+ assert_conversion Measured::Weight, "2000 q", "2000 q"
452
+ end
378
453
  end
metadata CHANGED
@@ -1,16 +1,16 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: measured
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.8.2
4
+ version: 3.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kevin McPhillips
8
8
  - Jason Gedge
9
9
  - Javier Honduvilla Coto
10
- autorequire:
10
+ autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2021-12-21 00:00:00.000000000 Z
13
+ date: 2024-10-03 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:
@@ -104,8 +146,12 @@ executables: []
104
146
  extensions: []
105
147
  extra_rdoc_files: []
106
148
  files:
149
+ - ".github/dependabot.yml"
107
150
  - ".github/workflows/ci.yml"
151
+ - ".github/workflows/cla.yml"
152
+ - ".github/workflows/dependabot_auto_merge.yml"
108
153
  - ".gitignore"
154
+ - ".ruby-version"
109
155
  - CHANGELOG.md
110
156
  - Gemfile
111
157
  - LICENSE
@@ -116,9 +162,9 @@ files:
116
162
  - cache/volume.json
117
163
  - cache/weight.json
118
164
  - dev.yml
119
- - gemfiles/activesupport-5.2.gemfile
120
- - gemfiles/activesupport-6.0.gemfile
121
- - gemfiles/activesupport-6.1.gemfile
165
+ - gemfiles/rails-7.0.gemfile
166
+ - gemfiles/rails-7.1.gemfile
167
+ - gemfiles/rails-edge.gemfile
122
168
  - lib/measured.rb
123
169
  - lib/measured/arithmetic.rb
124
170
  - lib/measured/base.rb
@@ -130,6 +176,9 @@ files:
130
176
  - lib/measured/measurable.rb
131
177
  - lib/measured/missing_conversion_path.rb
132
178
  - lib/measured/parser.rb
179
+ - lib/measured/rails/active_record.rb
180
+ - lib/measured/rails/validations.rb
181
+ - lib/measured/railtie.rb
133
182
  - lib/measured/unit.rb
134
183
  - lib/measured/unit_already_added.rb
135
184
  - lib/measured/unit_error.rb
@@ -139,6 +188,7 @@ files:
139
188
  - lib/measured/units/volume.rb
140
189
  - lib/measured/units/weight.rb
141
190
  - lib/measured/version.rb
191
+ - lib/tapioca/dsl/compilers/measured_rails.rb
142
192
  - measured.gemspec
143
193
  - shipit.rubygems.yml
144
194
  - test/arithmetic_test.rb
@@ -147,11 +197,23 @@ files:
147
197
  - test/cache/null_test.rb
148
198
  - test/cache_consistency_test.rb
149
199
  - test/conversion_table_builder_test.rb
200
+ - test/internal/app/models/thing.rb
201
+ - test/internal/app/models/thing_with_custom_unit_accessor.rb
202
+ - test/internal/app/models/thing_with_custom_value_accessor.rb
203
+ - test/internal/app/models/validated_thing.rb
204
+ - test/internal/config.ru
205
+ - test/internal/config/database.yml
206
+ - test/internal/db/.gitignore
207
+ - test/internal/db/schema.rb
208
+ - test/internal/log/.gitignore
150
209
  - test/measurable_test.rb
151
210
  - test/parser_test.rb
211
+ - test/rails/active_record_test.rb
212
+ - test/rails/validation_test.rb
152
213
  - test/support/always_true_cache.rb
153
214
  - test/support/fake_system.rb
154
215
  - test/support/subclasses.rb
216
+ - test/tapioca/dsl/compilers/measured_rails_test.rb
155
217
  - test/test_helper.rb
156
218
  - test/unit_error_test.rb
157
219
  - test/unit_system_builder_test.rb
@@ -165,7 +227,7 @@ licenses:
165
227
  - MIT
166
228
  metadata:
167
229
  allowed_push_host: https://rubygems.org
168
- post_install_message:
230
+ post_install_message:
169
231
  rdoc_options: []
170
232
  require_paths:
171
233
  - lib
@@ -173,15 +235,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
173
235
  requirements:
174
236
  - - ">="
175
237
  - !ruby/object:Gem::Version
176
- version: '0'
238
+ version: 3.0.0
177
239
  required_rubygems_version: !ruby/object:Gem::Requirement
178
240
  requirements:
179
241
  - - ">="
180
242
  - !ruby/object:Gem::Version
181
243
  version: '0'
182
244
  requirements: []
183
- rubygems_version: 3.2.20
184
- signing_key:
245
+ rubygems_version: 3.5.20
246
+ signing_key:
185
247
  specification_version: 4
186
248
  summary: Encapsulate measurements with their units in Ruby
187
249
  test_files:
@@ -191,11 +253,23 @@ test_files:
191
253
  - test/cache/null_test.rb
192
254
  - test/cache_consistency_test.rb
193
255
  - test/conversion_table_builder_test.rb
256
+ - test/internal/app/models/thing.rb
257
+ - test/internal/app/models/thing_with_custom_unit_accessor.rb
258
+ - test/internal/app/models/thing_with_custom_value_accessor.rb
259
+ - test/internal/app/models/validated_thing.rb
260
+ - test/internal/config.ru
261
+ - test/internal/config/database.yml
262
+ - test/internal/db/.gitignore
263
+ - test/internal/db/schema.rb
264
+ - test/internal/log/.gitignore
194
265
  - test/measurable_test.rb
195
266
  - test/parser_test.rb
267
+ - test/rails/active_record_test.rb
268
+ - test/rails/validation_test.rb
196
269
  - test/support/always_true_cache.rb
197
270
  - test/support/fake_system.rb
198
271
  - test/support/subclasses.rb
272
+ - test/tapioca/dsl/compilers/measured_rails_test.rb
199
273
  - test/test_helper.rb
200
274
  - test/unit_error_test.rb
201
275
  - 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'
@@ -1,5 +0,0 @@
1
- source 'https://rubygems.org'
2
-
3
- gemspec path: '..'
4
-
5
- gem 'activesupport', '~> 6.0'
@@ -1,5 +0,0 @@
1
- source 'https://rubygems.org'
2
-
3
- gemspec path: '..'
4
-
5
- gem 'activesupport', '~> 6.1'