specstar-models 0.0.4 → 0.0.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (2) hide show
  1. data/lib/specstar/models.rb +17 -0
  2. metadata +1 -1
@@ -102,6 +102,23 @@ module Specstar
102
102
  end
103
103
  end
104
104
  end
105
+
106
+ RSpec::Matchers.define :validate_numericality_of do |attr, options|
107
+ match do |model|
108
+ (has_attribute?(model, attr) || has_association?(model, attr)) &&
109
+ model._validators[attr].select do |validator|
110
+ validator.instance_of?(ActiveModel::Validations::NumericalityValidator) && validator.options.merge(options) == validator.options
111
+ end.size > 0
112
+ end
113
+
114
+ failure_message_for_should do |model|
115
+ if has_attribute?(model, attr) || has_association?(model, attr)
116
+ "expected #{model.class} to validate numericality of #{attr} in [#{options.delete(:in).map(&:to_s).join(', ')}]."
117
+ else
118
+ "expected #{model.class} to have an attribute or association #{attr}."
119
+ end
120
+ end
121
+ end
105
122
  end
106
123
  end
107
124
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: specstar-models
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.0.5
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors: