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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 59de28f9f6f0747e881e480daa94b465ad10f561
4
- data.tar.gz: ecdde3f91ed4e0884dccb451cadb5a750d9aa5ca
3
+ metadata.gz: 6a5a0bba58bfba19df0837d3dd5ea2b289effce9
4
+ data.tar.gz: 6f9b4dcd2b99a425b2eed1a209215c783e5bcc9f
5
5
  SHA512:
6
- metadata.gz: 0f7b69a888ecbef41d0ddf22d6210ad7da8fbfd26543f25c9eea32f91b5d25bf22dd87fcefb8417a1da3d15cbbc31446bb42034705358019fe00c4bf82b2b7d1
7
- data.tar.gz: 5fd856cf138508c45fc7b5f3d0b4d33b4b33d7ca9e5174ddcaafc621d32b1d9297f73a3032ec3b1000d9566f9b58fc693618a41365fa6557eaf8c6f2643c83a9
6
+ metadata.gz: f14c170882c6c3c8447412b3f0a889e4c0bf432c1c02e9fe0ecb21a674b49f181a7780af7ca00f6917c7a76094bef715b97055fb6b3f1260388dfcad5701cc99
7
+ data.tar.gz: 695ef4f4887aedfc53cbc898c0957872b2920a99ee959a0acb3ca56e7b2e0cfa4678579296a4cac88f4e64a617ed2471f6af9c68245daaf9208e03a55bb6e5ad
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- mongoid_time_field (0.2.4)
4
+ mongoid_time_field (0.2.5)
5
5
  mongoid (>= 3.0.0)
6
6
 
7
7
  GEM
@@ -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
@@ -11,6 +11,8 @@ module Mongoid::TimeField
11
11
 
12
12
  @options = options
13
13
  end
14
+
15
+ alias_method :to_i, :seconds
14
16
 
15
17
  def to_s
16
18
  if @seconds.nil?
@@ -1,3 +1,3 @@
1
1
  module MongoidTimeField
2
- VERSION = "0.2.4"
2
+ VERSION = "0.2.5"
3
3
  end
@@ -4,6 +4,7 @@ class DummyV2
4
4
  field :description
5
5
 
6
6
  field :def, type: TimeField.new()
7
+ field :sep, type: TimeField.new(format: 'hh?-mm-SS')
7
8
 
8
9
  field :open, type: TimeField.new(format: "hh:MM")
9
10
  field :close, type: TimeField.new(format: 'hh:MM')
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
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-10 00:00:00.000000000 Z
11
+ date: 2013-06-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: mongoid