unit_measurements-rails 0.2.0 → 1.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 248b4aa4b1db413cbd85b1625a3f074eaa19f6c36d1c3f85496b3b2192a61f22
4
- data.tar.gz: d5038145522b4dc4041306c9a8b48191febd110aa039bb94e6da9a13f1e4315f
3
+ metadata.gz: 5f1843c7f2b52c98319dc2157d86f1028638fcc375e3104551ea79f2954560a4
4
+ data.tar.gz: 271f1f7c5103ad50e3eddf357cc1456aba6e7219eebeca8768ab7fc5b9bcae9e
5
5
  SHA512:
6
- metadata.gz: d1a7a08872179ea42aa5bc681910dc829b89c22d0a2981ed8888ce8b89a7ac5a239cb6ba78fa057e0566fd1b21b7d487d27eaa5a2d11af7a9ffb349019624f4c
7
- data.tar.gz: 16058395f0b28050dc01d773938af2188594f386d650e8a3ce856aec9b1d723bfc8c5efe09093d3482d8d38ece676243a01c7eac4fc790dd976ff0451e4f1e4e
6
+ metadata.gz: c824399cc26f750e0e5981f39f4ea14ef50e2c1cb6d6c8dbfabf402bea3e06248ed4e48a0787ce015b223c9aa8b52949b15c6527db655bbb47c7b0db2da76957
7
+ data.tar.gz: 236a331b4812c7598f997f27203f5b1bfaadd8f0f8a9ac667d2d1e454a8f5f46395eb9dfb7590f81443b0a1ae0b3fe83ead51d5d838eba9de70203f39ede554f
data/CHANGELOG.md CHANGED
@@ -1,3 +1,24 @@
1
+ ## [1.1.0](https://github.com/shivam091/unit_measurements-rails/compare/v1.0.0...v1.1.0) - 2023-11-16
2
+
3
+ ### What's new
4
+
5
+ - Added ability to define _multiple_ measured attributes at a time.
6
+ - Added wrapper for defining `length` measured attributes.
7
+ - Added wrapper for defining `weight` measured attributes.
8
+ - Added wrapper for defining `volume` measured attributes.
9
+ - Added wrapper for defining `area` measured attributes.
10
+
11
+ -----------
12
+
13
+ ## [1.0.0](https://github.com/shivam091/unit_measurements-rails/compare/v0.2.0...v1.0.0) - 2023-11-14
14
+
15
+ ### What's new
16
+
17
+ - Added method `measured` to store and retrieve measurement object.
18
+ - Added RDoc for modules and classes.
19
+
20
+ -----------
21
+
1
22
  ## [0.2.0](https://github.com/shivam091/unit_measurements-rails/compare/v0.1.0...v0.2.0) - 2023-11-12
2
23
 
3
24
  ### What's new
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- unit_measurements-rails (0.2.0)
4
+ unit_measurements-rails (1.1.0)
5
5
  activemodel (>= 7)
6
6
  activerecord (>= 7)
7
7
  railties (>= 7)
@@ -168,7 +168,7 @@ GEM
168
168
  timeout (0.4.1)
169
169
  tzinfo (2.0.6)
170
170
  concurrent-ruby (~> 1.0)
171
- unit_measurements (5.8.0)
171
+ unit_measurements (5.11.0)
172
172
  activesupport (~> 7.0)
173
173
  websocket-driver (0.7.6)
174
174
  websocket-extensions (>= 0.1.0)
data/README.md CHANGED
@@ -37,6 +37,82 @@ Or otherwise simply install it yourself as:
37
37
 
38
38
  `$ gem install unit_measurements-rails`
39
39
 
40
+ ## Usage
41
+
42
+ ### ActiveRecord
43
+
44
+ Attribute names are expected to have the `_quantity` and `_unit` suffix, and be `DECIMAL` and `VARCHAR` types, respectively, and defaults values are accepted.
45
+
46
+ ```ruby
47
+ class CreateTableCubes < ActiveRecord::Migration[7.0]
48
+ def change
49
+ create_table :cubes do |t|
50
+ t.decimal :length_quantity, precision: 10, scale: 2
51
+ t.string :length_unit, limit: 12
52
+ t.decimal :width_quantity, precision: 10, scale: 2
53
+ t.string :width_unit, limit: 12
54
+ t.decimal :height_quantity, precision: 10, scale: 2
55
+ t.string :height_unit, limit: 12
56
+ t.timestamps
57
+ end
58
+ end
59
+ end
60
+ ```
61
+
62
+ A column can be declared as a measured with its unit group class:
63
+
64
+ ```ruby
65
+ class Cube < ActiveRecord::Base
66
+ measured UnitMeasurements::Length, :height
67
+ end
68
+ ```
69
+
70
+ This will allow you to access and assign a measured attribute:
71
+
72
+ ```ruby
73
+ cube = Cube.new
74
+ cube.height = UnitMeasurements::Length.new(5, "ft")
75
+ cube.height_quantity #=> 0.5e1
76
+ cube.height_unit #=> "ft"
77
+ cube.height #=> 5.0 ft
78
+ ```
79
+
80
+ Order of assignment does not matter, and each attribute can be assigned separately
81
+ and with mass assignment:
82
+
83
+ ```ruby
84
+ params = {height_quantity: "3", height_unit: "ft"}
85
+ cube = Cube.new(params)
86
+ cube.height #=> 3.0 ft
87
+ ```
88
+
89
+ You can specify multiple measured attributes at a time:
90
+
91
+ ```ruby
92
+ class Land < ActiveRecord::Base
93
+ measured UnitMeasurements::Area, :carpet_area, :buildup_area
94
+ end
95
+ ```
96
+
97
+ There are some simpler methods for predefined types:
98
+
99
+ ```ruby
100
+ class Package < ActiveRecord::Base
101
+ measured_length :size
102
+ measured_weight :item_weight, :package_weight
103
+ measured_area :carpet_area
104
+ measured_volume :total_volume
105
+ end
106
+ ```
107
+
108
+ This will allow you to access and assign a measurement object:
109
+
110
+ ```ruby
111
+ package = Package.new
112
+ package.item_weight = UnitMeasurements::Weight.new(10, "g")
113
+ package.item_weight_unit #=> "g"
114
+ package.item_weight_value #=> 10
115
+ ```
40
116
 
41
117
  ## Contributing
42
118
 
@@ -0,0 +1,171 @@
1
+ # -*- encoding: utf-8 -*-
2
+ # -*- frozen_string_literal: true -*-
3
+ # -*- warn_indent: true -*-
4
+
5
+ module UnitMeasurements
6
+ module Rails
7
+ # The +UnitMeasurements::Rails::ActiveRecord+ module enhances ActiveRecord
8
+ # models by providing a convenient way to handle unit measurements. It
9
+ # facilitates defining measurable attributes in models with specific unit
10
+ # group support.
11
+ #
12
+ # @author {Harshal V. Ladhe}[https://shivam091.github.io/]
13
+ # @since 1.0.0
14
+ module ActiveRecord
15
+ # Defines a _reader_ and _writer_ methods for the measured attributes in
16
+ # the +ActiveRecord+ model.
17
+ #
18
+ # @example Defining single measured attribute:
19
+ # class Cube < ActiveRecord::Base
20
+ # measured UnitMeasurements::Length, :height
21
+ # end
22
+ #
23
+ # @example Defining multiple measured attributes:
24
+ # class Package < ActiveRecord::Base
25
+ # measured UnitMeasurements::Weight, :item_weight, :total_weight
26
+ # end
27
+ #
28
+ # @param [Class|String] unit_group
29
+ # The unit group class or its name as a string.
30
+ # @param [Array<String|Symbol>] measured_attrs
31
+ # An array of the names of measured attributes.
32
+ # @return [void]
33
+ #
34
+ # @raise [BaseError]
35
+ # If +unit_group+ is not a subclass of +UnitMeasurements::Measurement+.
36
+ #
37
+ # @see BaseError
38
+ # @author {Harshal V. Ladhe}[https://shivam091.github.io/]
39
+ # @since 1.0.0
40
+ def measured(unit_group, *measured_attrs)
41
+ unit_group = unit_group.constantize if unit_group.is_a?(String)
42
+
43
+ validate_unit_group!(unit_group)
44
+
45
+ measured_attrs.map(&:to_s).each do |measured_attr|
46
+ quantity_attr = "#{measured_attr}_quantity"
47
+ unit_attr = "#{measured_attr}_unit"
48
+
49
+ define_reader_for_measured_attr(measured_attr, quantity_attr, unit_attr, unit_group)
50
+ define_writer_for_measured_attr(measured_attr, quantity_attr, unit_attr, unit_group)
51
+ redefine_quantity_writer(quantity_attr)
52
+ redefine_unit_writer(unit_attr, unit_group)
53
+ end
54
+ end
55
+
56
+ private
57
+
58
+ # @private
59
+ # Validates whether +unit_group+ is a subclass of +UnitMeasurements::Measurement+.
60
+ #
61
+ # @param [Class] unit_group The unit group class to be validated.
62
+ #
63
+ # @raise [BaseError]
64
+ # if +unit_group+ is not a subclass of +UnitMeasurements::Measurement+.
65
+ #
66
+ # @return [void]
67
+ #
68
+ # @author {Harshal V. Ladhe}[https://shivam091.github.io/]
69
+ # @since 1.0.0
70
+ def validate_unit_group!(unit_group)
71
+ unless unit_group.is_a?(Class) && unit_group.ancestors.include?(Measurement)
72
+ raise BaseError, "Expecting `#{unit_group}` to be a subclass of UnitMeasurements::Measurement"
73
+ end
74
+ end
75
+
76
+ # @private
77
+ # Defines the method to read the measured attribute.
78
+ #
79
+ # @param [String] measured_attr The name of the measured attribute.
80
+ # @param [String] quantity_attr The name of the quantity attribute.
81
+ # @param [String] unit_attr The name of the unit attribute.
82
+ # @param [Class] unit_group The unit group class for the measurement.
83
+ #
84
+ # @return [void]
85
+ #
86
+ # @author {Harshal V. Ladhe}[https://shivam091.github.io/]
87
+ # @since 1.0.0
88
+ def define_reader_for_measured_attr(measured_attr, quantity_attr, unit_attr, unit_group)
89
+ define_method(measured_attr) do
90
+ quantity, unit = public_send(quantity_attr), public_send(unit_attr)
91
+
92
+ begin
93
+ unit_group.new(quantity, unit)
94
+ rescue BlankQuantityError, BlankUnitError, ParseError, UnitError
95
+ nil
96
+ end
97
+ end
98
+ end
99
+
100
+ # @private
101
+ # Defines the method to write the measured attribute.
102
+ #
103
+ # @param [String] measured_attr The name of the measured attribute.
104
+ # @param [String] quantity_attr The name of the quantity attribute.
105
+ # @param [String] unit_attr The name of the unit attribute.
106
+ # @param [Class] unit_group The unit group class for the measurement.
107
+ #
108
+ # @return [void]
109
+ #
110
+ # @author {Harshal V. Ladhe}[https://shivam091.github.io/]
111
+ # @since 1.0.0
112
+ def define_writer_for_measured_attr(measured_attr, quantity_attr, unit_attr, unit_group)
113
+ define_method("#{measured_attr}=") do |measurement|
114
+ if measurement.is_a?(unit_group)
115
+ public_send("#{quantity_attr}=", measurement.quantity)
116
+ public_send("#{unit_attr}=", measurement.unit.name)
117
+ else
118
+ public_send("#{quantity_attr}=", nil)
119
+ public_send("#{unit_attr}=", nil)
120
+ end
121
+ end
122
+ end
123
+
124
+ # @private
125
+ # Redefines the writer method to set the quantity attribute.
126
+ #
127
+ # @param quantity_attr [String] The name of the quantity attribute.
128
+ #
129
+ # @return [void]
130
+ #
131
+ # @author {Harshal V. Ladhe}[https://shivam091.github.io/]
132
+ # @since 1.0.0
133
+ def redefine_quantity_writer(quantity_attr)
134
+ redefine_method("#{quantity_attr}=") do |quantity|
135
+ quantity = BigDecimal(quantity, Float::DIG) if quantity.is_a?(String)
136
+ quantity = if quantity
137
+ db_column_props = self.column_for_attribute(quantity_attr)
138
+ precision, scale = db_column_props.precision, db_column_props.scale
139
+
140
+ quantity.round(scale)
141
+ else
142
+ nil
143
+ end.tap { |value| write_attribute(quantity_attr, value) }
144
+ end
145
+ end
146
+
147
+ # @private
148
+ # Redefines the writer method to set the unit attribute.
149
+ #
150
+ # @param unit_attr [String] The name of the unit attribute.
151
+ # @param unit_group [Class] The unit group class for the measurement.
152
+ #
153
+ # @return [void]
154
+ #
155
+ # @author {Harshal V. Ladhe}[https://shivam091.github.io/]
156
+ # @since 1.0.0
157
+ def redefine_unit_writer(unit_attr, unit_group)
158
+ redefine_method("#{unit_attr}=") do |unit|
159
+ unit_name = unit_group.unit_group.unit_for(unit).try!(:name)
160
+ write_attribute(unit_attr, (unit_name || unit))
161
+ end
162
+ end
163
+ end
164
+ end
165
+ end
166
+
167
+ # ActiveSupport hook to extend ActiveRecord with the `UnitMeasurements::Rails::ActiveRecord`
168
+ # module.
169
+ ActiveSupport.on_load(:active_record) do
170
+ ::ActiveRecord::Base.send :extend, UnitMeasurements::Rails::ActiveRecord
171
+ end
@@ -11,9 +11,28 @@ require "active_model"
11
11
  require "active_model/validations"
12
12
 
13
13
  module UnitMeasurements
14
+ # The +UnitMeasurements::Rails+ integrates the
15
+ # {unit_measurements}[https://github.com/shivam091/unit_measurements]
16
+ # gem into Ruby on Rails applications.
17
+ #
18
+ # It integrates +unit_measurements+ into Ruby on Rails applications, encompassing
19
+ # modules and classes for ActiveRecord support, Railties, and custom errors.
20
+ #
21
+ # @see ActiveRecord
22
+ # @see Railtie
23
+ # @see BaseError
24
+ # @author {Harshal V. Ladhe}[https://shivam091.github.io/]
25
+ # @since 0.2.0
14
26
  module Rails
27
+ # This class serves as the base for custom errors within the +UnitMeasurements::Rails+
28
+ # module.
29
+ #
30
+ # @author {Harshal V. Ladhe}[https://shivam091.github.io/]
31
+ # @since 0.2.0
15
32
  class BaseError < StandardError; end
16
33
  end
17
34
  end
18
35
 
36
+ require "unit_measurements/rails/active_record"
37
+
19
38
  require "unit_measurements/rails/railtie" if defined?(Rails)
@@ -4,7 +4,16 @@
4
4
 
5
5
  module UnitMeasurements
6
6
  module Rails
7
+ # The +Railtie+ class integrates +unit_measurements+ with the Rails framework.
8
+ #
9
+ # This Railtie is designed to be automatically loaded by Rails when the
10
+ # application starts. It facilitates configuration and customization of the
11
+ # behavior of +unit_measurements+ within a Rails application.
12
+ #
13
+ # @author {Harshal V. Ladhe}[https://shivam091.github.io/]
14
+ # @since 0.1.0
7
15
  class Railtie < ::Rails::Railtie
16
+ # (optional: add custom configuration, initialization, or other hooks)
8
17
  end
9
18
  end
10
19
  end
@@ -0,0 +1,8 @@
1
+ # -*- encoding: utf-8 -*-
2
+ # -*- frozen_string_literal: true -*-
3
+ # -*- warn_indent: true -*-
4
+
5
+ require_relative "length"
6
+ require_relative "weight"
7
+ require_relative "volume"
8
+ require_relative "area"
@@ -0,0 +1,46 @@
1
+ # -*- encoding: utf-8 -*-
2
+ # -*- frozen_string_literal: true -*-
3
+ # -*- warn_indent: true -*-
4
+
5
+ # The +UnitMeasurements::Rails::ActiveRecord::Area+ module provides a convenient
6
+ # way to define area-measured attributes in +ActiveRecord+ models.
7
+ #
8
+ # It acts as a wrapper for the +measured+ method, simplifying the definition of
9
+ # area-measured attributes without directly invoking the +measured+ method.
10
+ #
11
+ # @author {Harshal V. Ladhe}[https://shivam091.github.io/]
12
+ # @since 1.1.0
13
+ module UnitMeasurements::Rails::ActiveRecord::Area
14
+ # Defines _area-measured_ attributes in the +ActiveRecord+ model.
15
+ #
16
+ # This method serves as a wrapper around the +measured+ method and allows easy
17
+ # definition of area-measured attributes by accepting an array of attribute
18
+ # names.
19
+ #
20
+ # @param [Array<String|Symbol>] measured_attrs
21
+ # An array of the names of area-measured attributes.
22
+ #
23
+ # @example Define single area-measured attribute:
24
+ # class Land < ActiveRecord::Base
25
+ # measured_area :total_area
26
+ # end
27
+ #
28
+ # @example Define multiple area-measured attributes:
29
+ # class Land < ActiveRecord::Base
30
+ # measured_area :carpet_area, :buildup_area
31
+ # end
32
+ #
33
+ # @return [void]
34
+ #
35
+ # @see #measured
36
+ # @author {Harshal V. Ladhe}[https://shivam091.github.io/]
37
+ # @since 1.1.0
38
+ def measured_area(*measured_attrs)
39
+ measured(UnitMeasurements::Area, *measured_attrs)
40
+ end
41
+ end
42
+
43
+ # ActiveSupport hook to extend ActiveRecord with the `UnitMeasurements::Rails::ActiveRecord::Area` module.
44
+ ActiveSupport.on_load(:active_record) do
45
+ ::ActiveRecord::Base.send :extend, UnitMeasurements::Rails::ActiveRecord::Area
46
+ end
@@ -0,0 +1,46 @@
1
+ # -*- encoding: utf-8 -*-
2
+ # -*- frozen_string_literal: true -*-
3
+ # -*- warn_indent: true -*-
4
+
5
+ # The +UnitMeasurements::Rails::ActiveRecord::Length+ module provides a convenient
6
+ # way to define length-measured attributes in +ActiveRecord+ models.
7
+ #
8
+ # It acts as a wrapper for the +measured+ method, simplifying the definition of
9
+ # length-measured attributes without directly invoking the +measured+ method.
10
+ #
11
+ # @author {Harshal V. Ladhe}[https://shivam091.github.io/]
12
+ # @since 1.1.0
13
+ module UnitMeasurements::Rails::ActiveRecord::Length
14
+ # Defines _length-measured_ attributes in the +ActiveRecord+ model.
15
+ #
16
+ # This method serves as a wrapper around the +measured+ method and allows easy
17
+ # definition of length-measured attributes by accepting an array of attribute
18
+ # names.
19
+ #
20
+ # @param [Array<String|Symbol>] measured_attrs
21
+ # An array of the names of length-measured attributes.
22
+ #
23
+ # @example Define single length-measured attribute:
24
+ # class Cube < ActiveRecord::Base
25
+ # measured_length :length
26
+ # end
27
+ #
28
+ # @example Define multiple length-measured attributes:
29
+ # class Cube < ActiveRecord::Base
30
+ # measured_length :height, :width
31
+ # end
32
+ #
33
+ # @return [void]
34
+ #
35
+ # @see #measured
36
+ # @author {Harshal V. Ladhe}[https://shivam091.github.io/]
37
+ # @since 1.1.0
38
+ def measured_length(*measured_attrs)
39
+ measured(UnitMeasurements::Length, *measured_attrs)
40
+ end
41
+ end
42
+
43
+ # ActiveSupport hook to extend ActiveRecord with the `UnitMeasurements::Rails::ActiveRecord::Length` module.
44
+ ActiveSupport.on_load(:active_record) do
45
+ ::ActiveRecord::Base.send :extend, UnitMeasurements::Rails::ActiveRecord::Length
46
+ end
@@ -0,0 +1,46 @@
1
+ # -*- encoding: utf-8 -*-
2
+ # -*- frozen_string_literal: true -*-
3
+ # -*- warn_indent: true -*-
4
+
5
+ # The +UnitMeasurements::Rails::ActiveRecord::Volume+ module provides a convenient
6
+ # way to define volume-measured attributes in +ActiveRecord+ models.
7
+ #
8
+ # It acts as a wrapper for the +measured+ method, simplifying the definition of
9
+ # volume-measured attributes without directly invoking the +measured+ method.
10
+ #
11
+ # @author {Harshal V. Ladhe}[https://shivam091.github.io/]
12
+ # @since 1.1.0
13
+ module UnitMeasurements::Rails::ActiveRecord::Volume
14
+ # Defines _volume-measured_ attributes in the +ActiveRecord+ model.
15
+ #
16
+ # This method serves as a wrapper around the +measured+ method and allows easy
17
+ # definition of volume-measured attributes by accepting an array of attribute
18
+ # names.
19
+ #
20
+ # @param [Array<String|Symbol>] measured_attrs
21
+ # An array of the names of volume-measured attributes.
22
+ #
23
+ # @example Define single volume-measured attribute:
24
+ # class Container < ActiveRecord::Base
25
+ # measured_volume :total_volume
26
+ # end
27
+ #
28
+ # @example Define multiple volume-measured attributes:
29
+ # class Container < ActiveRecord::Base
30
+ # measured_volume :internal_volume, :external_volume
31
+ # end
32
+ #
33
+ # @return [void]
34
+ #
35
+ # @see #measured
36
+ # @author {Harshal V. Ladhe}[https://shivam091.github.io/]
37
+ # @since 1.1.0
38
+ def measured_volume(*measured_attrs)
39
+ measured(UnitMeasurements::Volume, *measured_attrs)
40
+ end
41
+ end
42
+
43
+ # ActiveSupport hook to extend ActiveRecord with the `UnitMeasurements::Rails::ActiveRecord::Volume` module.
44
+ ActiveSupport.on_load(:active_record) do
45
+ ::ActiveRecord::Base.send :extend, UnitMeasurements::Rails::ActiveRecord::Volume
46
+ end
@@ -0,0 +1,46 @@
1
+ # -*- encoding: utf-8 -*-
2
+ # -*- frozen_string_literal: true -*-
3
+ # -*- warn_indent: true -*-
4
+
5
+ # The +UnitMeasurements::Rails::ActiveRecord::Weight+ module provides a convenient
6
+ # way to define weight-measured attributes in +ActiveRecord+ models.
7
+ #
8
+ # It acts as a wrapper for the +measured+ method, simplifying the definition of
9
+ # weight-measured attributes without directly invoking the +measured+ method.
10
+ #
11
+ # @author {Harshal V. Ladhe}[https://shivam091.github.io/]
12
+ # @since 1.1.0
13
+ module UnitMeasurements::Rails::ActiveRecord::Weight
14
+ # Defines _weight-measured_ attributes in the +ActiveRecord+ model.
15
+ #
16
+ # This method serves as a wrapper around the +measured+ method and allows easy
17
+ # definition of weight-measured attributes by accepting an array of attribute
18
+ # names.
19
+ #
20
+ # @param [Array<String|Symbol>] measured_attrs
21
+ # An array of the names of weight-measured attributes.
22
+ #
23
+ # @example Define single weight-measured attribute:
24
+ # class Package < ActiveRecord::Base
25
+ # measured_weight :total_weight
26
+ # end
27
+ #
28
+ # @example Define multiple weight-measured attributes:
29
+ # class Package < ActiveRecord::Base
30
+ # measured_weight :item_weight, :package_weight
31
+ # end
32
+ #
33
+ # @return [void]
34
+ #
35
+ # @see #measured
36
+ # @author {Harshal V. Ladhe}[https://shivam091.github.io/]
37
+ # @since 1.1.0
38
+ def measured_weight(*measured_attrs)
39
+ measured(UnitMeasurements::Weight, *measured_attrs)
40
+ end
41
+ end
42
+
43
+ # ActiveSupport hook to extend ActiveRecord with the `UnitMeasurements::Rails::ActiveRecord::Weight` module.
44
+ ActiveSupport.on_load(:active_record) do
45
+ ::ActiveRecord::Base.send :extend, UnitMeasurements::Rails::ActiveRecord::Weight
46
+ end
@@ -5,6 +5,6 @@
5
5
  module UnitMeasurements
6
6
  module Rails
7
7
  # Current stable version.
8
- VERSION = "0.2.0"
8
+ VERSION = "1.1.0"
9
9
  end
10
10
  end
@@ -3,3 +3,5 @@
3
3
  # -*- warn_indent: true -*-
4
4
 
5
5
  require "unit_measurements/rails/base"
6
+
7
+ require "unit_measurements/rails/unit_groups/all"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: unit_measurements-rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 1.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Harshal LADHE
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2023-11-12 00:00:00.000000000 Z
11
+ date: 2023-11-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: railties
@@ -165,8 +165,14 @@ files:
165
165
  - gemfiles/rails-7.1.gemfile
166
166
  - gemfiles/rails-edge.gemfile
167
167
  - lib/unit_measurements-rails.rb
168
+ - lib/unit_measurements/rails/active_record.rb
168
169
  - lib/unit_measurements/rails/base.rb
169
170
  - lib/unit_measurements/rails/railtie.rb
171
+ - lib/unit_measurements/rails/unit_groups/all.rb
172
+ - lib/unit_measurements/rails/unit_groups/area.rb
173
+ - lib/unit_measurements/rails/unit_groups/length.rb
174
+ - lib/unit_measurements/rails/unit_groups/volume.rb
175
+ - lib/unit_measurements/rails/unit_groups/weight.rb
170
176
  - lib/unit_measurements/rails/version.rb
171
177
  - unit_measurements-rails.gemspec
172
178
  homepage: https://github.com/shivam091/unit_measurements-rails