duffy 0.3.2 → 0.3.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: 5352f50b3ba89cdb2363771bc04f90db58685ed4
4
- data.tar.gz: 7eb25fb4fff123191765f121af6db0fc144fcb03
3
+ metadata.gz: 19def3df1322596d60ac2001478437990ca3bc36
4
+ data.tar.gz: ec6c3281a8b0e5f3c1c03fe5369184acc64944c7
5
5
  SHA512:
6
- metadata.gz: eaccda483503ae98332a2be28040b6100aaeb6dc05173d24fde1fc096e1215faf334b7cb61b3c0fc3a5735c20a40a325d0d52a6ef5fcb7a2e8405481addde69e
7
- data.tar.gz: 82529c50fcb43bb941ad245351501e20ddb875fa1a7af228b6e19a43d57d73f96d32c322b141138092923d80978c7cb57eda3b4b75d81d577189de40a05b9c41
6
+ metadata.gz: 34cae9c0336a238ea8ee3725b178be58fa4429a0f1d7e67281872a6e269fd4ab86cd423fb553899bc4ada59f9a86ef9ceec461bf0ee20a68c974e7c84d025233
7
+ data.tar.gz: 04d8d1711b3ed59fd4ac3b8d9517c909fba3859ec11fa5a33c4f587a13e4bea35166c8f99402b382648483aed4faffe0fb45062f0da7a62548867e926f9a9926
data/README.md CHANGED
@@ -40,10 +40,13 @@ smart_titlecase | "this and that" | "This and That" (Note: Has config options.
40
40
 
41
41
 
42
42
  ## Date Patches:
43
+ * See config to set your organization's fiscal year start.
43
44
 
44
- Method | Example | Output
45
- ------------------|-----------------|-------
46
- fiscal_year | Date.today | 2015 (See config to set your organization's fiscal year start.)
45
+ Method | Example | Output
46
+ -------------------------|-------------------------------------|-------
47
+ fiscal_year | Date.today.fiscal_year | 2018
48
+ beginning_of_fiscal_year | Date.today.beginning_of_fiscal_year | 2017-07-01
49
+ end_of_fiscal_year | Date.today.end_of_fiscal_year | 2018-06-30
47
50
 
48
51
 
49
52
  ## NilClass Patches:
data/lib/duffy/date.rb CHANGED
@@ -7,10 +7,23 @@ class Date
7
7
  (self < Date.new(year, Duffy.configuration.fiscal_month, Duffy.configuration.fiscal_day)) ? year : year + 1
8
8
  end
9
9
 
10
+ # Like beginning_of_year, but for Fiscal Years.
11
+ # Date.new(2015,10,1).beginning_of_fiscal_year => 2015-07-01
12
+ def beginning_of_fiscal_year
13
+ Date.new(fiscal_year - 1, Duffy.configuration.fiscal_month, Duffy.configuration.fiscal_day)
14
+ end
15
+ alias_method :at_beginning_of_fiscal_year, :beginning_of_fiscal_year
16
+
17
+ # Like end_of_year, but for Fiscal Years
18
+ # Date.new(2015,10,1).end_of_fiscal_year => 2016-06-30
19
+ def end_of_fiscal_year
20
+ Date.new(fiscal_year, Duffy.configuration.fiscal_month, Duffy.configuration.fiscal_day).prev_day
21
+ end
22
+ alias_method :at_end_of_fiscal_year, :end_of_fiscal_year
10
23
  end
11
24
 
12
25
  class NilClass
13
26
  def to_date
14
27
  self
15
28
  end
16
- end
29
+ end
data/lib/duffy/version.rb CHANGED
@@ -1,8 +1,9 @@
1
1
  module Duffy
2
- VERSION = "0.3.2"
2
+ VERSION = "0.3.3"
3
3
  end
4
4
 
5
5
  # History
6
+ # 0.3.3 - Added beginning_of_fiscal_year and end_of_fiscal_year methods to Date
6
7
  # 0.3.2 - Added mem_percentage as a convenience and safeguard against div/0 in user code.
7
8
  # 0.3.1 - Fixed mem_available for old linux distros.
8
9
  # 0.3.0 - Added system memory methods. Removed deprecated icon methods.
data/spec/date_spec.rb CHANGED
@@ -21,5 +21,37 @@ describe Date do
21
21
 
22
22
  end
23
23
 
24
+ describe "beginning_of_fiscal_year (Assuming July 1st Start)" do
25
+
26
+ # First day stays the same
27
+ it "2000-07-01 => 2000-07-01" do
28
+ expect(Date.new(2000, 7, 1).beginning_of_fiscal_year).to eq Date.new(2000, 7, 1)
29
+ end
30
+
31
+ # Previous day is the previous FY
32
+ it "2000-06-30 => 1999-07-01" do
33
+ expect(Date.new(2000, 6, 30).beginning_of_fiscal_year).to eq Date.new(1999, 7, 1)
34
+ end
35
+
36
+ # Date into the next calendar year but before the FY change.
37
+ it "2001-01-01 => 2000-07-01" do
38
+ expect(Date.new(2001, 1, 1).beginning_of_fiscal_year).to eq Date.new(2000, 7, 1)
39
+ end
40
+
41
+ end
42
+
43
+ describe "end_of_fiscal_year (Assuming July 1st Start)" do
44
+
45
+ # Last day stays the same
46
+ it "2000-06-30 => 2000-06-30" do
47
+ expect(Date.new(2000, 6, 30).end_of_fiscal_year).to eq Date.new(2000, 6, 30)
48
+ end
49
+
50
+ # Day after the last day is the next FY end
51
+ it "2000-07-01 => 2001-06-30" do
52
+ expect(Date.new(2000, 7, 1).end_of_fiscal_year).to eq Date.new(2001, 6, 30)
53
+ end
54
+
55
+ end
24
56
 
25
57
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: duffy
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.2
4
+ version: 0.3.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jacob Duffy
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-05-16 00:00:00.000000000 Z
11
+ date: 2017-07-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport