dohutil 0.2.18 → 0.2.19

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: de3784972811034de9468d7036f30c8e12f980ed
4
- data.tar.gz: 52004c336ef714c0c586d2a7ff91e1dc464d8641
3
+ metadata.gz: 11e21aabdec5db1053d2a609c679cb848d5f32de
4
+ data.tar.gz: 4f9c3de05bea5bb32f9f38d9f265a98eaee187fc
5
5
  SHA512:
6
- metadata.gz: aac229b59d4a9c4063854abd163a9ff4977de228e1da1609fe6382f85a1c216e3ac39e9666619974eed860bcf308c6e9f04043ba8864da778e5054bb2f3aff7c
7
- data.tar.gz: 49c54d560c65bcf771b2f8a8bda09be75b7cd68bad3003c8e3255b7b5c67498e616133c10c64c9114a2edd26216b7d50d59f94e81affeba4656f129c5786490e
6
+ metadata.gz: 208b4173bc678932f4918b17368bacf6c307a2f81ce69cde3d7296e12437391dbd84d2b9ce3953637acea6569283a63fcbabe73bf11367feaab98ed03c4c75d4
7
+ data.tar.gz: 5e035ce4725f6db7b5224ab33fa94978b94c4d4339397e4db8829303eed41a7946fcb46802fb016b5a7e65e782cee03df424cfbaa9cdfba60008a11fffb1f9c9
@@ -2,22 +2,22 @@ require 'date'
2
2
  require 'time'
3
3
 
4
4
  class DateTime
5
- # SECONDS_IN_DAY is no longer defined in 1.9.3
6
- unless const_defined?(:SECONDS_IN_DAY)
7
- SECONDS_IN_DAY = Rational(1, 60 * 60 * 24)
8
- end
5
+ DAY_SECONDS = 60 * 60 * 24
9
6
 
10
7
  def self.zow
11
- obj = now
12
- new(obj.year, obj.month, obj.mday, obj.hour, obj.min, obj.sec, 0)
8
+ now.zowify
9
+ end
10
+
11
+ def zowify
12
+ self.class.new(year, month, mday, hour, min, sec, 0)
13
13
  end
14
14
 
15
15
  def self.seconds_to_days(seconds)
16
- seconds.to_f * SECONDS_IN_DAY #.to_f
16
+ seconds.to_f / DAY_SECONDS.to_f
17
17
  end
18
18
 
19
19
  def next_second(n = 1)
20
- self + (SECONDS_IN_DAY * n)
20
+ self + self.class.seconds_to_days(n)
21
21
  end
22
22
 
23
23
  def prev_second(n = 1)
@@ -26,14 +26,17 @@ class DateTime
26
26
 
27
27
  # subtract another DateTime object, return difference in seconds
28
28
  def sub_dt(other)
29
- ((self - other) / SECONDS_IN_DAY).to_i
29
+ ((self - other) * DAY_SECONDS).to_i
30
30
  end
31
31
  end
32
32
 
33
33
  class Time
34
34
  def self.zow
35
- obj = now
36
- new(obj.year, obj.month, obj.mday, obj.hour, obj.min, obj.sec, 0)
35
+ now.zowify
36
+ end
37
+
38
+ def zowify
39
+ self.class.new(year, month, mday, hour, min, sec, 0)
37
40
  end
38
41
 
39
42
  def next_second(n = 1)
@@ -0,0 +1,19 @@
1
+ require 'dohutil/core_ext/date'
2
+
3
+ class Date
4
+ def next_weekday
5
+ retval = self + 1
6
+ until retval.weekday?
7
+ retval += 1
8
+ end
9
+ retval
10
+ end
11
+
12
+ def previous_weekday
13
+ retval = self - 1
14
+ until retval.weekday?
15
+ retval -= 1
16
+ end
17
+ retval
18
+ end
19
+ end
@@ -5,15 +5,27 @@ module Doh
5
5
  class Parent
6
6
  force_deep_copy :var1, :var2
7
7
  attr_accessor :var1, :var2
8
+
9
+ def initialize
10
+ @var1 = @var2 = nil
11
+ end
8
12
  end
9
13
 
10
14
  class Child < Parent
11
15
  force_deep_copy :var3
12
16
  attr_accessor :var3
17
+
18
+ def initialize
19
+ @var3 = nil
20
+ end
13
21
  end
14
22
 
15
23
  class ShallowParent
16
24
  attr_accessor :var1, :var2
25
+
26
+ def initialize
27
+ @var1 = @var2 = nil
28
+ end
17
29
  end
18
30
 
19
31
  class Test_core_ext_force_deep_copy < DohTest::TestGroup
@@ -0,0 +1,14 @@
1
+ require 'dohutil/move_weekday'
2
+
3
+ module Doh
4
+
5
+ class TestMoveWeekday < DohTest::TestGroup
6
+ def test_move_weekday
7
+ assert_equal(Date.new(2011, 11, 11).to_s, Date.new(2011, 11, 10).next_weekday.to_s)
8
+ assert_equal(Date.new(2011, 11, 14).to_s, Date.new(2011, 11, 11).next_weekday.to_s)
9
+ assert_equal(Date.new(2011, 11, 11).to_s, Date.new(2011, 11, 14).previous_weekday.to_s)
10
+ assert_equal(Date.new(2011, 11, 10).to_s, Date.new(2011, 11, 11).previous_weekday.to_s)
11
+ end
12
+ end
13
+
14
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dohutil
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.18
4
+ version: 0.2.19
5
5
  platform: ruby
6
6
  authors:
7
7
  - Makani Mason
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-11-11 00:00:00.000000000 Z
12
+ date: 2013-12-06 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: dohroot
@@ -82,6 +82,7 @@ files:
82
82
  - lib/dohutil/current_date.rb
83
83
  - lib/dohutil/disable_verbose.rb
84
84
  - lib/dohutil/env.rb
85
+ - lib/dohutil/move_weekday.rb
85
86
  - lib/dohutil/password_helper.rb
86
87
  - lib/dohutil/to_display.rb
87
88
  - test/core_ext/bigdecimal.dt.rb
@@ -89,6 +90,7 @@ files:
89
90
  - test/core_ext/datewithtime.dt.rb
90
91
  - test/core_ext/force_deep_copy.dt.rb
91
92
  - test/core_ext/string.dt.rb
93
+ - test/move_weekday.dt.rb
92
94
  - MIT-LICENSE
93
95
  homepage: https://github.com/atpsoft/dohutil
94
96
  licenses:
@@ -120,3 +122,4 @@ test_files:
120
122
  - test/core_ext/datewithtime.dt.rb
121
123
  - test/core_ext/force_deep_copy.dt.rb
122
124
  - test/core_ext/string.dt.rb
125
+ - test/move_weekday.dt.rb