measured-rails 0.0.6 → 0.0.7

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
  SHA1:
3
- metadata.gz: 76e8eab10f76aefe07b598a93972ee67973646fb
4
- data.tar.gz: f26684d6ee3c206b2ffb49564ad67f980ebfdd8d
3
+ metadata.gz: 5a228c3feac7e0810823eb7a838318ef24b1b459
4
+ data.tar.gz: 46d35f6ce7e1d68f65fe23620b21eba1e8358e40
5
5
  SHA512:
6
- metadata.gz: db89da596259e4adc7982c53197919ebd0d351a124440c631c69824d4a39adef35d31813c0ea3aa1060c7767ac3a3492cf302637dcf76592613787452bc0f42e
7
- data.tar.gz: f06519907cb185e3f0b1d9e2ba890c041727e4349fa822fe02684d6b24e61db5e360d889125283b7863f18bdeb1d7d73f53894bea8373507b40c122f123b1d4f
6
+ metadata.gz: cc6967a2287ac7cff1beb58a2af703bd1a512eafffd5f3791a6fd7f3027cb24771b3a8679cae7b5861bec4a36c35da3c6a9068a4e62476fe26c2ee0878f4c068
7
+ data.tar.gz: 0c9041617dc8ac13d9c06092adb946daddae25c370d2415e2ada1bb41ed9424ce0280c1d8160285b448bc2f79f55d1711890462ae95cb3df388ead85e7f649f7
@@ -42,7 +42,13 @@ module Measured::Rails::ActiveRecord
42
42
  if incoming.is_a?(measured_class)
43
43
  instance_variable_set("@measured_#{ field }", incoming)
44
44
  value_field_name = "#{ field }_value"
45
- public_send("#{ value_field_name }=", incoming.value.round(self.column_for_attribute(value_field_name).precision))
45
+ precision = self.column_for_attribute(value_field_name).precision
46
+ scale = self.column_for_attribute(value_field_name).scale
47
+ ## For BigDecimal#split syntax, refer http://ruby-doc.org/stdlib-2.1.1/libdoc/bigdecimal/rdoc/BigDecimal.html#method-i-split
48
+ if incoming.value.split[1].size > precision
49
+ raise Measured::Rails::Error, "The value #{incoming.value} being set for column '#{value_field_name}' has too many significant digits. Please ensure it has no more than #{precision} significant digits."
50
+ end
51
+ public_send("#{ value_field_name }=", incoming.value.round(scale))
46
52
  public_send("#{ field }_unit=", incoming.unit)
47
53
  else
48
54
  instance_variable_set("@measured_#{ field }", nil)
@@ -1,5 +1,5 @@
1
1
  module Measured
2
2
  module Rails
3
- VERSION = "0.0.6"
3
+ VERSION = "0.0.7"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: measured-rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.6
4
+ version: 0.0.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kevin McPhillips