fat_core 0.2.9 → 0.3.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/fat_core/date.rb +20 -0
- data/lib/fat_core/version.rb +2 -2
- data/spec/lib/date_spec.rb +15 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ab979ecd2ac34d1c729d80fff62e4bf2edc3e024
|
4
|
+
data.tar.gz: 2a53dd80c0d65df335d3d238cec0c4f71d17f768
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2698c7c8bd529073b3eaf9cc9b360aa1129c126316aa05c8e0f429ebffd01e30981a8a208cf5dcb1f7b006eca1d2352cddfd5f1e28bd93934b4e2f81a4d6737f
|
7
|
+
data.tar.gz: 3efee775ac480bbfe74649a70d26ffb1e0fe8c173c711f1c926647709db88596e0db38e7fa1da2cb8654c8a99fe2f064bf9dbecf2905804624a069aba198c226
|
data/lib/fat_core/date.rb
CHANGED
@@ -876,4 +876,24 @@ class Date
|
|
876
876
|
add_nyse_business_days(-1)
|
877
877
|
end
|
878
878
|
alias :prior_trading_day :prior_nyse_workday
|
879
|
+
|
880
|
+
# Return self if its a trading day, otherwise skip back to the first prior
|
881
|
+
# trading day.
|
882
|
+
def prior_until_trading_day
|
883
|
+
date = self
|
884
|
+
while !date.trading_day?
|
885
|
+
date -= 1
|
886
|
+
end
|
887
|
+
date
|
888
|
+
end
|
889
|
+
|
890
|
+
# Return self if its a trading day, otherwise skip forward to the first
|
891
|
+
# later trading day.
|
892
|
+
def next_until_trading_day
|
893
|
+
date = self
|
894
|
+
while !date.trading_day?
|
895
|
+
date += 1
|
896
|
+
end
|
897
|
+
date
|
898
|
+
end
|
879
899
|
end
|
data/lib/fat_core/version.rb
CHANGED
data/spec/lib/date_spec.rb
CHANGED
@@ -838,6 +838,21 @@ describe Date do
|
|
838
838
|
expect(Date.parse('2016-04-25').prior_trading_day)
|
839
839
|
.to eq Date.parse('2016-04-22')
|
840
840
|
end
|
841
|
+
|
842
|
+
it "should be able to skip until it hits a trading day" do
|
843
|
+
# A Wednesday
|
844
|
+
expect(Date.parse('2014-03-26').prior_until_trading_day)
|
845
|
+
.to eq(Date.parse('2014-03-26'))
|
846
|
+
# A Sunday
|
847
|
+
expect(Date.parse('2014-03-30').prior_until_trading_day)
|
848
|
+
.to eq(Date.parse('2014-03-28'))
|
849
|
+
# A Wednesday
|
850
|
+
expect(Date.parse('2014-03-26').next_until_trading_day)
|
851
|
+
.to eq(Date.parse('2014-03-26'))
|
852
|
+
# A Sunday
|
853
|
+
expect(Date.parse('2014-03-30').next_until_trading_day)
|
854
|
+
.to eq(Date.parse('2014-03-31'))
|
855
|
+
end
|
841
856
|
end
|
842
857
|
end
|
843
858
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fat_core
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Daniel E. Doherty
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-03-
|
11
|
+
date: 2015-03-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: simplecov
|