mongoid_time_field 0.2.4 → 0.2.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,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