validation_rules 1.0.4 → 1.0.5

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,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- NjM3M2UyODU5MjM1MjQ0NWQ1NDZiNTQwZjJiMmM1NTE1NzM4ZTBiNQ==
4
+ NmZmZDQ0ZmZmYTg0ZjkzNjU3NWZhYTllNzM4NjFiOTZhYmEzYzdmZQ==
5
5
  data.tar.gz: !binary |-
6
- MDAxZTdlNDdmYTg3OTMxZDJiYmVlNDAyZWUxYzI0YWExNTlkYjg3Yg==
6
+ YzcwMjMwZGY2YTA2M2ZjYzVhOGY3YTk2YzRmYTdiMWI4YTg4NTdkZQ==
7
7
  !binary "U0hBNTEy":
8
8
  metadata.gz: !binary |-
9
- MmY4Yzc3M2RkMmE4ZDJhNDQwYWYwMWJhNDdjN2MwNTFhODRkYmRmOTQ1MjMw
10
- MGYwMjJmZDQ4NTExMjZmYjQxZjc3MTk4MzE3YWZjYTQzNTg5ZTM1ZDU5OTI1
11
- MTQ3YTg5MDQxY2JjNGM3MTY0NGI4ZmQ4MGI3MDc1YmZkNzM4MTU=
9
+ MDQ1Mzc5MmVhMDcwZDQ2ZTFlYjJiYmQ3ZDdmMTZiN2U5MjEyMzk0NzVlYzcy
10
+ YjhiNzRhNTg4ZDA3NGJmNTk2ZGJlYzIwN2U2MWYyMzY1M2JkN2ZkODZkZWU0
11
+ ZTZiYzE5MTQ1NTU2YTkxN2JmOWI3YjUxMTZkYjM0YWI3MWE3Nzg=
12
12
  data.tar.gz: !binary |-
13
- MzlmNjgwOTQwNmNkNDUzZmUzMjFlMTM2NTA1ZTQzMDVjMTRjYzg5ZGRiOWEy
14
- YWUwMDI5YjM4ZTZhZmM1ZmI3NzZlNDA1NGJlOWZjMjI3MTc0NGVkZjg4MDdm
15
- YjU4YmNhZjljZTMwZDg1NWNkMzUzMjJmYWM4YWIxMmIzYjA0ODM=
13
+ MWIyZjI1Y2JiMGIzZjhkY2MwNTljY2MyMTcyMGIwYThkODNhZmY0ZTNmYmJk
14
+ MGU0YTJkNTdhNzcxZDIwYWJhNWU0YWQxNTlmM2E1NzJjYjM5YjI5OWJhN2Nh
15
+ NDcwODk0OGRjNTBlOWI3NDFmMGEwN2FiZjg2MzEwN2RlNDcwNjE=
data/README.md CHANGED
@@ -2,6 +2,12 @@
2
2
 
3
3
  A collection of commonly used Ruby validation rules
4
4
 
5
- `gem "validation_rules", "~> 1.0.4"`
5
+ `gem "validation_rules", "~> 1.0.5"`
6
6
 
7
- No documentationn yet, use http://rubydoc.info/gems/validation_rules/1.0.2/frames
7
+ No documentationn yet, use http://rubydoc.info/gems/validation_rules/1.0.5/frames
8
+
9
+ Change log:
10
+
11
+ *1.0.5*
12
+ - Changes the way numeric works. It no longer only looks for just integers. It now supports floats, decimals and numeric strings.
13
+ - Added numeric check to numeric_min, numeric_max, positive, negative and range
@@ -124,26 +124,32 @@ module ValidationRules
124
124
  end
125
125
 
126
126
  def self.numeric(value)
127
- value =~ NUMERIC_REGEX
127
+ return true if value =~ /^\d+$/
128
+ true if Float(value) rescue false
128
129
  end
129
130
 
130
131
  def self.numeric_min(value, min)
132
+ return false unless numeric(value)
131
133
  value.to_f >= min.to_f
132
134
  end
133
135
 
134
136
  def self.numeric_max(value, max)
137
+ return false unless numeric(value)
135
138
  value.to_f <= max.to_f
136
139
  end
137
140
 
138
141
  def self.positive(value)
142
+ return false unless numeric(value)
139
143
  value.to_f > 0
140
144
  end
141
145
 
142
146
  def self.negative(value)
147
+ return false unless numeric(value)
143
148
  value.to_f < 0
144
149
  end
145
150
 
146
151
  def self.range(value, min, max)
152
+ return false unless numeric(value)
147
153
  value.to_f >= min.to_f and value.to_f <= max.to_f
148
154
  end
149
155
 
@@ -1,3 +1,3 @@
1
1
  module ValidationRules
2
- VERSION = '1.0.4'
2
+ VERSION = '1.0.5'
3
3
  end
@@ -213,9 +213,15 @@ describe ValidationRules do
213
213
 
214
214
  it 'validates numeric values' do
215
215
  ValidationRules.numeric('123456').should be_true
216
+ ValidationRules.numeric(123456).should be_true
217
+ ValidationRules.numeric('10.99').should be_true
218
+ ValidationRules.numeric(10.99).should be_true
219
+ ValidationRules.numeric('5.4e-29').should be_true
220
+ ValidationRules.numeric('12e20').should be_true
221
+ ValidationRules.numeric('0').should be_true
222
+ ValidationRules.numeric(0).should be_true
216
223
 
217
224
  ValidationRules.numeric('ABCDS').should be_false
218
- ValidationRules.numeric('10.99').should be_false
219
225
  ValidationRules.numeric('ab123.99').should be_false
220
226
  end
221
227
 
@@ -223,6 +229,7 @@ describe ValidationRules do
223
229
  ValidationRules.numeric_min('11', '10').should be_true
224
230
  ValidationRules.numeric_min(11, 10).should be_true
225
231
  ValidationRules.numeric_min(11, 11).should be_true
232
+ ValidationRules.numeric_min(10.99, 10).should be_true
226
233
 
227
234
  ValidationRules.numeric_min(40, 50).should be_false
228
235
  end
@@ -231,6 +238,7 @@ describe ValidationRules do
231
238
  ValidationRules.numeric_max('50', '69').should be_true
232
239
  ValidationRules.numeric_max(50, 69).should be_true
233
240
  ValidationRules.numeric_max(50, 50).should be_true
241
+ ValidationRules.numeric_max(10.99, 11).should be_true
234
242
 
235
243
  ValidationRules.numeric_max(50, 40).should be_false
236
244
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: validation_rules
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.4
4
+ version: 1.0.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Adam Gotterer
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-04-25 00:00:00.000000000 Z
11
+ date: 2013-04-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rspec