mongoid_time_field 0.2.4 → 0.2.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile.lock +1 -1
- data/lib/mongoid_time_field/time_field.rb +7 -1
- data/lib/mongoid_time_field/value.rb +2 -0
- data/lib/mongoid_time_field/version.rb +1 -1
- data/spec/support/dummy_v2.rb +1 -0
- data/spec/v2_spec.rb +53 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6a5a0bba58bfba19df0837d3dd5ea2b289effce9
|
4
|
+
data.tar.gz: 6f9b4dcd2b99a425b2eed1a209215c783e5bcc9f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f14c170882c6c3c8447412b3f0a889e4c0bf432c1c02e9fe0ecb21a674b49f181a7780af7ca00f6917c7a76094bef715b97055fb6b3f1260388dfcad5701cc99
|
7
|
+
data.tar.gz: 695ef4f4887aedfc53cbc898c0957872b2920a99ee959a0acb3ca56e7b2e0cfa4678579296a4cac88f4e64a617ed2471f6af9c68245daaf9208e03a55bb6e5ad
|
data/Gemfile.lock
CHANGED
@@ -24,8 +24,14 @@ class TimeField
|
|
24
24
|
def parse(value)
|
25
25
|
if value.blank?
|
26
26
|
nil
|
27
|
+
elsif value.to_i.to_s == value
|
28
|
+
if @options[:format].index('SS').nil?
|
29
|
+
Mongoid::TimeField::Value.new(value.to_i * 60, @options)
|
30
|
+
else
|
31
|
+
Mongoid::TimeField::Value.new(value.to_i, @options)
|
32
|
+
end
|
27
33
|
else
|
28
|
-
match = @options[:regexp].match(value)
|
34
|
+
match = @options[:regexp].match(value.strip)
|
29
35
|
if match.nil?
|
30
36
|
nil
|
31
37
|
else
|
data/spec/support/dummy_v2.rb
CHANGED
data/spec/v2_spec.rb
CHANGED
@@ -22,6 +22,19 @@ describe Mongoid::TimeField do
|
|
22
22
|
dummy.save.should eq true
|
23
23
|
end
|
24
24
|
|
25
|
+
it '#to_i' do
|
26
|
+
dummy = DummyV2.new
|
27
|
+
dummy.open = '2:00'
|
28
|
+
dummy.open.to_i.should eq 7200
|
29
|
+
end
|
30
|
+
|
31
|
+
it 'set as int minutes in HH:MM' do
|
32
|
+
dummy = DummyV2.new
|
33
|
+
dummy.open = '120'
|
34
|
+
dummy.open.to_i.should eq 7200
|
35
|
+
dummy.open.should eq '2:00'
|
36
|
+
end
|
37
|
+
|
25
38
|
it 'allows querying' do
|
26
39
|
DummyV2.create!(open: '10:00')
|
27
40
|
second = DummyV2.create!(open: '10:05')
|
@@ -185,6 +198,46 @@ describe Mongoid::TimeField do
|
|
185
198
|
dummy.def = '02:03'
|
186
199
|
dummy.def.should eq '2:03'
|
187
200
|
end
|
201
|
+
|
202
|
+
it '#to_i' do
|
203
|
+
dummy = DummyV2.new
|
204
|
+
dummy.def = '2:00'
|
205
|
+
dummy.def.to_i.should eq 120
|
206
|
+
end
|
207
|
+
|
208
|
+
it 'set as int minutes in HH:MM' do
|
209
|
+
dummy = DummyV2.new
|
210
|
+
dummy.def= '120'
|
211
|
+
dummy.def.to_i.should eq 120
|
212
|
+
dummy.def.should eq '2:00'
|
213
|
+
end
|
214
|
+
end
|
215
|
+
|
216
|
+
describe 'another separator' do
|
217
|
+
it 'parses hours' do
|
218
|
+
dummy = DummyV2.new
|
219
|
+
dummy.sep = '1-02-03'
|
220
|
+
dummy.sep.should eq '1-02-03'
|
221
|
+
end
|
222
|
+
|
223
|
+
it 'formats without hours when no hours are present' do
|
224
|
+
dummy = DummyV2.new
|
225
|
+
dummy.sep = '02-03'
|
226
|
+
dummy.sep.should eq '2-03'
|
227
|
+
end
|
228
|
+
|
229
|
+
it '#to_i' do
|
230
|
+
dummy = DummyV2.new
|
231
|
+
dummy.sep = '2-00'
|
232
|
+
dummy.sep.to_i.should eq 120
|
233
|
+
end
|
234
|
+
|
235
|
+
it 'set as int minutes in HH:MM' do
|
236
|
+
dummy = DummyV2.new
|
237
|
+
dummy.sep = '120'
|
238
|
+
dummy.sep.to_i.should eq 120
|
239
|
+
dummy.sep.should eq '2-00'
|
240
|
+
end
|
188
241
|
end
|
189
242
|
|
190
243
|
describe 'validation' do
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mongoid_time_field
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- glebtv
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-06-
|
11
|
+
date: 2013-06-11 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: mongoid
|