thin_out_backups 0.0.2 → 0.0.3

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: 90d6be8da9f0658e2676938578b1ddd41b75a7f4
4
- data.tar.gz: 5a2984aa1a4a421162f54ce5d7ada3a5577baad9
3
+ metadata.gz: 661c20167ace8b36008890eaee10ac93d662c591
4
+ data.tar.gz: f85c7b2d8155cb91edff3795baec40438ff80cb0
5
5
  SHA512:
6
- metadata.gz: af12c88ead979aa39ce41ec69baef553a9188ea37d5098cb05d3fe68ac46ad763036da32acc08c92a950c50de553fc0d192ff1ad90920aa07899c852b79d533f
7
- data.tar.gz: 4f2a39d8e4a1d4e4ee2d9c77e6b0ce6cd68c03d67b1d51004cb20012d97d368f0ef7c3707cd48085c46b42343f198309d369c608c581eda2a54345af810f6935
6
+ metadata.gz: 6f8867b4f850c67601ab97ac1819b1491743a51b5e6186cecd1d2d9fcc615c46b0ca4efdb06c74b65c19e721c48155710f2a7c89334941f0e315746706a6dfc8
7
+ data.tar.gz: df07738545e69a9203ec2d7254af5bfa4f8876f4c7c81df180f3c690d5c514661500aad7ac24ab64f218b9c1f4a7fd560b7bc01a5b1574ba869e2331dc3f57d7
@@ -1,3 +1,3 @@
1
1
  module ThinOutBackups
2
- Version = "0.0.2"
2
+ Version = "0.0.3"
3
3
  end
@@ -8,9 +8,11 @@ require 'delegate'
8
8
 
9
9
  #require 'rubygems'
10
10
  require 'facets/time'
11
+ require 'facets/time/hence'
12
+ require 'active_support/core_ext/time/calculations'
13
+ require 'active_support/core_ext/date/calculations'
11
14
  require 'colored'
12
15
  require 'quality_extensions/module/attribute_accessors'
13
- require 'thin_out_backups/time_fixes'
14
16
 
15
17
  class ThinOutBackups::Command
16
18
  #---------------------------------------------------------------------------------------------------------------------------------------------------
@@ -81,7 +83,7 @@ class ThinOutBackups::Command
81
83
  def start_time
82
84
  start_time = parent.now.dup
83
85
  if parent.align_at_beginning_of_time_interval
84
- beginning_of_interval =
86
+ beginning_of_interval =
85
87
  case unit
86
88
  when :minutes
87
89
  start_time.change(:sec => 0)
@@ -90,7 +92,7 @@ class ThinOutBackups::Command
90
92
  when :days
91
93
  start_time.change(:hour => 0)
92
94
  when :weeks
93
- start_time.beginning_of_week
95
+ start_time.beginning_of_week(:sunday)
94
96
  when :months
95
97
  start_time.change( :day => 1, :hour => 0)
96
98
  when :years
@@ -13,9 +13,9 @@ describe '.time_format' do
13
13
  it { 'db_backup.2016-04-28T01:04.sql.gz'.should match subject }
14
14
  end
15
15
 
16
- describe Time, "#beginning_of_week" do
16
+ describe Time, "#beginning_of_week(:sunday)" do
17
17
  it "should return a Sunday" do
18
- Time.utc(2008,11,12).beginning_of_week.should == Time.utc(2008,11,9)
18
+ Time.utc(2008,11,12).beginning_of_week(:sunday).should == Time.utc(2008,11,9)
19
19
  end
20
20
  end
21
21
 
@@ -56,7 +56,7 @@ end
56
56
 
57
57
  $command = <<End
58
58
  thin_out_backups --force --daily=3 --weekly=3 --monthly=* \
59
- --now='#{$now.to_s_full}'\
59
+ --now='#{$now.strftime("%Y-%m-%d %H:%M:%S")}'\
60
60
  spec/test_dir/db_dumps \
61
61
  spec/test_dir/maildir
62
62
  End
@@ -18,6 +18,7 @@ Gem::Specification.new do |gem|
18
18
  gem.add_dependency 'facets'
19
19
  gem.add_dependency 'colored'
20
20
  gem.add_dependency 'quality_extensions'
21
+ gem.add_dependency 'activesupport'
21
22
 
22
23
  gem.add_development_dependency 'rspec'
23
24
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: thin_out_backups
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tyler Rick
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-05-25 00:00:00.000000000 Z
11
+ date: 2016-05-31 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: facets
@@ -52,6 +52,20 @@ dependencies:
52
52
  - - ">="
53
53
  - !ruby/object:Gem::Version
54
54
  version: '0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: activesupport
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
55
69
  - !ruby/object:Gem::Dependency
56
70
  name: rspec
57
71
  requirement: !ruby/object:Gem::Requirement
@@ -83,7 +97,6 @@ files:
83
97
  - Readme.md
84
98
  - bin/thin_out_backups
85
99
  - lib/thin_out_backups.rb
86
- - lib/thin_out_backups/time_fixes.rb
87
100
  - lib/thin_out_backups/version.rb
88
101
  - spec/thin_out_backups_spec.rb
89
102
  - thin_out_backups.gemspec
@@ -1,131 +0,0 @@
1
- # Until facets gets patched proper, we'll monkey patch it here:
2
- # TODO: Is this still needed?
3
- #require '/home/tyler/dev/ruby/facets/lib/core/facets/time/hence'
4
- class Time
5
-
6
- if defined?(::ActiveSupport)
7
-
8
- alias_method :in, :since
9
- alias_method :hence, :since
10
-
11
- else
12
-
13
- # Returns a new Time representing the time
14
- # a number of time-units ago.
15
- #
16
- def ago(number, units=:seconds)
17
- time =(
18
- case units.to_s.downcase.to_sym
19
- when :years
20
- set(:year => (year - number))
21
- when :months
22
- y = ((month - number) / 12).to_i
23
- #puts "(#{month} - #{number}) / 12 == #{y}"
24
-
25
- new_month = ((month - number - 1) % 12) + 1
26
- y += 1 if new_month > month
27
- #puts y
28
-
29
- set(:year => (year - y), :month => new_month)
30
- when :weeks
31
- self - (number * 604800)
32
- when :days
33
- self - (number * 86400)
34
- when :hours
35
- self - (number * 3600)
36
- when :minutes
37
- self - (number * 60)
38
- when :seconds, nil
39
- self - number
40
- else
41
- raise ArgumentError, "unrecognized time units -- #{units}"
42
- end
43
- )
44
- dst_adjustment(time)
45
- end
46
- #
47
- # Returns a new Time representing the time
48
- # a number of time-units hence.
49
-
50
- def hence(number, units=:seconds)
51
- time =(
52
- case units.to_s.downcase.to_sym
53
- when :years
54
- set( :year=>(year + number) )
55
- when :months
56
- y = ((month + number - 1) / 12).to_i
57
- m = ((month + number - 1) % 12) + 1
58
- set(:year => (year + y), :month => m)
59
- when :weeks
60
- self + (number * 604800)
61
- when :days
62
- self + (number * 86400)
63
- when :hours
64
- self + (number * 3600)
65
- when :minutes
66
- self + (number * 60)
67
- when :seconds
68
- self + number
69
- else
70
- raise ArgumentError, "unrecognized time units -- #{units}"
71
- end
72
- )
73
- dst_adjustment(time)
74
- end
75
-
76
- alias_method :in, :hence
77
- alias_method :since, :hence
78
-
79
- # Adjust DST
80
- #
81
- # TODO: Can't seem to get this to pass ActiveSupport tests.
82
- # Even though it is essentially identical to the
83
- # ActiveSupport code (see Time#since in time/calculations.rb).
84
- # It handles all but 4 tests.
85
- def dst_adjustment(time)
86
- self_dst = self.dst? ? 1 : 0
87
- time_dst = time.dst? ? 1 : 0
88
- seconds = (self - time).abs
89
- if (seconds >= 86400 && self_dst != time_dst)
90
- time + ((self_dst - time_dst) * 60 * 60)
91
- else
92
- time
93
- end
94
- end
95
-
96
- end
97
-
98
- end
99
-
100
-
101
- class DateTime
102
- def to_time
103
- Time.mktime(year, month, day, hour, min, sec)
104
- end
105
- end
106
-
107
- class Time
108
- def to_s
109
- #strftime("%Y%m%dT%H%M%S")
110
- strftime("%Y-%m-%d %H:%M")
111
- end
112
- def to_s_full
113
- strftime("%Y-%m-%d %H:%M:%S")
114
- end
115
-
116
- # /usr/lib/ruby/gems/1.8/gems/activesupport-2.1.2/lib/active_support/core_ext/time/calculations.rb
117
-
118
- def beginning_of_day
119
- change(:hour => 0)
120
- end
121
- alias :midnight :beginning_of_day
122
-
123
- # Returns a new Time representing the "start" of this week (Sunday, 0:00)
124
- def beginning_of_week
125
- days_to_sunday = self.wday
126
- self.ago(days_to_sunday, :days).midnight
127
- end
128
- alias :sunday :beginning_of_week
129
-
130
- end
131
-