periods 0.0.2 → 0.0.3

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: eea9d19b7049b6d03a568e701364c49ffb48a1be
4
- data.tar.gz: 98bf92f0394a366292346a1261dbb3e9242ed6e9
3
+ metadata.gz: b340e86339eee67b5f7915f6df4d6e809aba2107
4
+ data.tar.gz: 0d613dce4f4898974d2953797e8cd9cd0b6b72b1
5
5
  SHA512:
6
- metadata.gz: a7d3596288e9733b834c2f7fae59d2ec94b041eaa918ffc7c052dc8d34e38c402f331d17d51ce3e9ed4c2fe047e5098e1d7929cf92ddc818e72885ca0c876f35
7
- data.tar.gz: a43ae004a0e85f71fc640ab1b594713fbbd89b3300a62b8c4283c24be287708f7d4a61492814e107dcc36055c5c83076448811dbfdbc525d1aea0974770ea8f2
6
+ metadata.gz: f299f089e6a1c016005d0120b8784cb317bd7ed73061dd76906fb35eb1b4a2c81da882928608b974f1c54bbda33e9f9993a6c7f362754a4a77575b82e26d92d8
7
+ data.tar.gz: adc4461e7f2d1e8b2cf112a0bb8baddf9e3732ded407f6ed66d933f9493cbfc2f936d9da25336eb449cfebe817d319c17fe676c25b7d80d6aa3589354707c3e2
@@ -35,16 +35,6 @@ module Periods
35
35
  (self.next.start_date - start_date).to_i
36
36
  end
37
37
 
38
- def include?(period)
39
- if period.is_a?(String) || period.is_a?(Date)
40
- super
41
- elsif period.is_a?(Period)
42
- start_date <= period.start_date && period.end_date <= end_date
43
- else
44
- false
45
- end
46
- end
47
-
48
38
  end
49
39
  end
50
40
  end
@@ -43,9 +43,17 @@ module Periods
43
43
  end_date.yday - start_date.yday + 1
44
44
  end
45
45
 
46
- def include?(date)
47
- date = Date.parse(date.to_s)
48
- start_date <= date && date <= end_date
46
+ def include?(period)
47
+ if period.is_a?(Date)
48
+ start_date <= period && period <= end_date
49
+ elsif period.is_a?(String)
50
+ date = Date.parse(period.to_s)
51
+ start_date <= date && date <= end_date
52
+ elsif period.is_a?(Period)
53
+ start_date <= period.start_date && period.end_date <= end_date
54
+ else
55
+ false
56
+ end
49
57
  end
50
58
 
51
59
  def to_s
@@ -38,16 +38,6 @@ module Periods
38
38
  self.class.for(start_date.prev_month(3))
39
39
  end
40
40
 
41
- def include?(period)
42
- if period.is_a?(String) || period.is_a?(Date)
43
- super
44
- elsif period.is_a?(Period)
45
- start_date <= period.start_date && period.end_date <= end_date
46
- else
47
- false
48
- end
49
- end
50
-
51
41
  end
52
42
  end
53
43
  end
@@ -47,16 +47,6 @@ module Periods
47
47
  (self.next.start_date - start_date).to_i
48
48
  end
49
49
 
50
- def include?(period)
51
- if period.is_a?(String) || period.is_a?(Date)
52
- super
53
- elsif period.is_a?(Period)
54
- start_date <= period.start_date && period.end_date <= end_date
55
- else
56
- false
57
- end
58
- end
59
-
60
50
  def year
61
51
  start_date.year
62
52
  end
@@ -41,16 +41,6 @@ module Periods
41
41
  (self.next.start_date - start_date).to_i
42
42
  end
43
43
 
44
- def include?(period)
45
- if period.is_a?(String) || period.is_a?(Date)
46
- super
47
- elsif period.is_a?(Period)
48
- start_date <= period.start_date && period.end_date <= end_date
49
- else
50
- false
51
- end
52
- end
53
-
54
44
  end
55
45
  end
56
46
  end
@@ -1,3 +1,3 @@
1
1
  module Periods
2
- VERSION = "0.0.2"
2
+ VERSION = "0.0.3"
3
3
  end
@@ -11,8 +11,8 @@ describe Halfyear do
11
11
  it "returns month of given date included" do
12
12
  month = described_class.for('25.06.2015')
13
13
 
14
- expect(month.start_date).to eq date('01.06.2015')
15
- expect(month.end_date).to eq date('30.11.2015')
14
+ expect(month.start_date).to eq Date('01.06.2015')
15
+ expect(month.end_date).to eq Date('30.11.2015')
16
16
  end
17
17
  end
18
18
 
@@ -11,8 +11,8 @@ describe HalfyearlyPeriod do
11
11
  it "returns halfyear of given date included" do
12
12
  period = described_class.for('25.06.2015')
13
13
 
14
- expect(period.start_date).to eq date('25.06.2015')
15
- expect(period.end_date).to eq date('24.12.2015')
14
+ expect(period.start_date).to eq Date('25.06.2015')
15
+ expect(period.end_date).to eq Date('24.12.2015')
16
16
  end
17
17
  end
18
18
 
@@ -11,8 +11,8 @@ describe Month do
11
11
  it "returns month of given date included" do
12
12
  month = described_class.for('25.06.2015')
13
13
 
14
- expect(month.start_date).to eq date('01.06.2015')
15
- expect(month.end_date).to eq date('30.06.2015')
14
+ expect(month.start_date).to eq Date('01.06.2015')
15
+ expect(month.end_date).to eq Date('30.06.2015')
16
16
  end
17
17
  end
18
18
 
@@ -11,8 +11,8 @@ describe MonthlyPeriod do
11
11
  it "returns month of given date included" do
12
12
  month = described_class.for('25.06.2015')
13
13
 
14
- expect(month.start_date).to eq date('25.06.2015')
15
- expect(month.end_date).to eq date('24.07.2015')
14
+ expect(month.start_date).to eq Date('25.06.2015')
15
+ expect(month.end_date).to eq Date('24.07.2015')
16
16
  end
17
17
  end
18
18
 
@@ -0,0 +1,19 @@
1
+ require 'spec_helper'
2
+ require 'periods/modules'
3
+
4
+ class MyMonth
5
+ include Periods::Modules::Month
6
+ end
7
+
8
+ describe "defining own classes including period module" do
9
+
10
+ describe ".for" do
11
+ it "set start and end date" do
12
+ month = MyMonth.for('25.06.2015')
13
+
14
+ expect(month.start_date).to eq Date('01.06.2015')
15
+ expect(month.end_date).to eq Date('30.06.2015')
16
+ end
17
+ end
18
+
19
+ end
@@ -57,18 +57,49 @@ describe Period do
57
57
 
58
58
  describe "#include?" do
59
59
  context "date included" do
60
+ it "returns true" do
61
+ expect(new_period("01.02.2015", "28.02.2015").include?(Date("01.02.2015"))).to be_truthy
62
+ expect(new_period("01.02.2015", "28.02.2015").include?(Date("28.02.2015"))).to be_truthy
63
+ end
64
+ end
65
+
66
+ context "date not included" do
67
+ it "returns false" do
68
+ expect(new_period("01.02.2015", "28.02.2015").include?(Date("31.01.2015"))).to be_falsey
69
+ expect(new_period("01.02.2015", "28.02.2015").include?(Date("01.03.2015"))).to be_falsey
70
+ end
71
+ end
72
+
73
+ context "date string included" do
60
74
  it "returns true" do
61
75
  expect(new_period("01.02.2015", "28.02.2015").include?("01.02.2015")).to be_truthy
62
76
  expect(new_period("01.02.2015", "28.02.2015").include?("28.02.2015")).to be_truthy
63
77
  end
64
78
  end
65
79
 
66
- context "date not included" do
80
+ context "date string not included" do
67
81
  it "returns false" do
68
82
  expect(new_period("01.02.2015", "28.02.2015").include?("31.01.2015")).to be_falsey
69
83
  expect(new_period("01.02.2015", "28.02.2015").include?("01.03.2015")).to be_falsey
70
84
  end
71
85
  end
86
+
87
+ context "period included" do
88
+ it "returns true" do
89
+ period = new_period("10.04.2015", "20.05.2015")
90
+ expect(period.include?(new_period("10.04.2015", "20.05.2015"))).to be_truthy
91
+ expect(period.include?(new_period("11.04.2015", "20.05.2015"))).to be_truthy
92
+ expect(period.include?(new_period("10.04.2015", "19.05.2015"))).to be_truthy
93
+ end
94
+ end
95
+
96
+ context "period not included" do
97
+ it "returns false" do
98
+ period = new_period("10.04.2015", "20.05.2015")
99
+ expect(period.include?(new_period("09.04.2015", "20.05.2015"))).to be_falsey
100
+ expect(period.include?(new_period("10.04.2015", "21.05.2015"))).to be_falsey
101
+ end
102
+ end
72
103
  end
73
104
  end
74
105
 
@@ -6,17 +6,17 @@ module Periods
6
6
 
7
7
  describe "#beginning_of_month" do
8
8
  it "returns given date with first day of month" do
9
- expect(described_class.new('01.06.2015').beginning_of_month).to eq date('01.06.2015')
10
- expect(described_class.new('02.06.2015').beginning_of_month).to eq date('01.06.2015')
11
- expect(described_class.new('30.06.2015').beginning_of_month).to eq date('01.06.2015')
9
+ expect(described_class.new('01.06.2015').beginning_of_month).to eq Date('01.06.2015')
10
+ expect(described_class.new('02.06.2015').beginning_of_month).to eq Date('01.06.2015')
11
+ expect(described_class.new('30.06.2015').beginning_of_month).to eq Date('01.06.2015')
12
12
  end
13
13
  end
14
14
 
15
15
  describe "#end_of_month" do
16
16
  it "returns given date with last day of month" do
17
- expect(described_class.new('01.06.2015').end_of_month).to eq date('30.06.2015')
18
- expect(described_class.new('02.06.2015').end_of_month).to eq date('30.06.2015')
19
- expect(described_class.new('30.06.2015').end_of_month).to eq date('30.06.2015')
17
+ expect(described_class.new('01.06.2015').end_of_month).to eq Date('30.06.2015')
18
+ expect(described_class.new('02.06.2015').end_of_month).to eq Date('30.06.2015')
19
+ expect(described_class.new('30.06.2015').end_of_month).to eq Date('30.06.2015')
20
20
  end
21
21
  end
22
22
  end
@@ -11,8 +11,8 @@ describe Quarter do
11
11
  it "returns quarter of given date included" do
12
12
  period = described_class.for('25.06.2015')
13
13
 
14
- expect(period.start_date).to eq date('01.06.2015')
15
- expect(period.end_date).to eq date('31.08.2015')
14
+ expect(period.start_date).to eq Date('01.06.2015')
15
+ expect(period.end_date).to eq Date('31.08.2015')
16
16
  end
17
17
  end
18
18
 
@@ -11,8 +11,8 @@ describe QuarterlyPeriod do
11
11
  it "returns quarter of given date included" do
12
12
  period = described_class.for('25.06.2015')
13
13
 
14
- expect(period.start_date).to eq date('25.06.2015')
15
- expect(period.end_date).to eq date('24.09.2015')
14
+ expect(period.start_date).to eq Date('25.06.2015')
15
+ expect(period.end_date).to eq Date('24.09.2015')
16
16
  end
17
17
  end
18
18
 
@@ -11,8 +11,8 @@ describe Year do
11
11
  it "returns month of given date included" do
12
12
  month = described_class.for('25.06.2015')
13
13
 
14
- expect(month.start_date).to eq date('01.06.2015')
15
- expect(month.end_date).to eq date('31.05.2016')
14
+ expect(month.start_date).to eq Date('01.06.2015')
15
+ expect(month.end_date).to eq Date('31.05.2016')
16
16
  end
17
17
  end
18
18
 
@@ -11,8 +11,8 @@ describe YearlyPeriod do
11
11
  it "returns year of given date included" do
12
12
  period = described_class.for('25.06.2015')
13
13
 
14
- expect(period.start_date).to eq date('25.06.2015')
15
- expect(period.end_date).to eq date('24.06.2016')
14
+ expect(period.start_date).to eq Date('25.06.2015')
15
+ expect(period.end_date).to eq Date('24.06.2016')
16
16
  end
17
17
  end
18
18
 
data/spec/spec_helper.rb CHANGED
@@ -74,6 +74,6 @@ RSpec.configure do |config|
74
74
  =end
75
75
  end
76
76
 
77
- def date(date)
77
+ def Date(date)
78
78
  Date.parse(date.to_s)
79
79
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: periods
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
  - Thomas Baustert
@@ -97,6 +97,7 @@ files:
97
97
  - spec/lib/january_spec.rb
98
98
  - spec/lib/month_spec.rb
99
99
  - spec/lib/monthly_period_spec.rb
100
+ - spec/lib/own_class_spec.rb
100
101
  - spec/lib/period_spec.rb
101
102
  - spec/lib/periods/date_calculator_spec.rb
102
103
  - spec/lib/quarter_spec.rb
@@ -135,6 +136,7 @@ test_files:
135
136
  - spec/lib/january_spec.rb
136
137
  - spec/lib/month_spec.rb
137
138
  - spec/lib/monthly_period_spec.rb
139
+ - spec/lib/own_class_spec.rb
138
140
  - spec/lib/period_spec.rb
139
141
  - spec/lib/periods/date_calculator_spec.rb
140
142
  - spec/lib/quarter_spec.rb