measured-rails 2.0.0 → 2.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/measured/rails/validations.rb +10 -6
- data/lib/measured/rails/version.rb +1 -1
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6839700295e39343ab0a6056185d6964aeb636db
|
4
|
+
data.tar.gz: 93eb92ab23f6fd6f5a765f70db987b0a98adcf20
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a10e9201daf1d78fdaddf32fc7fe24f524596da3f3ccc8305717a8d375e2beb767fd331c1003abcb47ff384fc3c41df9475e896a6fca8f11c9c64126bf38478b
|
7
|
+
data.tar.gz: 48277c7b1cec1b920d0f4a4eb627514285be55aba913be1471a145e0192a47bb9cb5e5fb08d848a5cd2216a79be683339ec7b7c315b28b95ab9c79f401667e60
|
@@ -20,11 +20,11 @@ class MeasuredValidator < ActiveModel::EachValidator
|
|
20
20
|
return unless measurable_unit_name.present? || measurable_value.present?
|
21
21
|
|
22
22
|
measurable_unit = measured_class.unit_system.unit_for(measurable_unit_name)
|
23
|
-
record.errors.add(attribute, message("is not a valid unit")) unless measurable_unit
|
23
|
+
record.errors.add(attribute, message(record, "is not a valid unit")) unless measurable_unit
|
24
24
|
|
25
|
-
if options[:units]
|
25
|
+
if options[:units] && measurable_unit.present?
|
26
26
|
valid_units = Array(options[:units]).map { |unit| measured_class.unit_system.unit_for(unit) }
|
27
|
-
record.errors.add(attribute, message("is not a valid unit")) unless valid_units.include?(measurable_unit)
|
27
|
+
record.errors.add(attribute, message(record, "is not a valid unit")) unless valid_units.include?(measurable_unit)
|
28
28
|
end
|
29
29
|
|
30
30
|
if measurable_unit && measurable_value.present?
|
@@ -32,7 +32,7 @@ class MeasuredValidator < ActiveModel::EachValidator
|
|
32
32
|
comparable_value = value_for(value, record)
|
33
33
|
comparable_value = measured_class.new(comparable_value, measurable_unit) unless comparable_value.is_a?(Measured::Measurable)
|
34
34
|
unless measurable.public_send(CHECKS[option], comparable_value)
|
35
|
-
record.errors.add(attribute, message("#{measurable.to_s} must be #{CHECKS[option]} #{comparable_value}"))
|
35
|
+
record.errors.add(attribute, message(record, "#{measurable.to_s} must be #{CHECKS[option]} #{comparable_value}"))
|
36
36
|
end
|
37
37
|
end
|
38
38
|
end
|
@@ -40,8 +40,12 @@ class MeasuredValidator < ActiveModel::EachValidator
|
|
40
40
|
|
41
41
|
private
|
42
42
|
|
43
|
-
def message(default_message)
|
44
|
-
options[:message]
|
43
|
+
def message(record, default_message)
|
44
|
+
if options[:message].respond_to?(:call)
|
45
|
+
options[:message].call(record)
|
46
|
+
else
|
47
|
+
options[:message] || default_message
|
48
|
+
end
|
45
49
|
end
|
46
50
|
|
47
51
|
def value_for(key, record)
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: measured-rails
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Kevin McPhillips
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-
|
11
|
+
date: 2017-08-24 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: measured
|
@@ -16,14 +16,14 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - '='
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 2.
|
19
|
+
version: 2.1.0
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - '='
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: 2.
|
26
|
+
version: 2.1.0
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: railties
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|