date_common 0.11 → 0.12

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
  SHA256:
3
- metadata.gz: bd1918d5fe6029dd42ff846b01064a42adea2bea8f74c386e3dbb7b17ae210e5
4
- data.tar.gz: 1a05ddd001250a2305975d68bdc67eabfef1ba407b21d337ae19ae4526b5a061
3
+ metadata.gz: b4124a026dcc1b6c0c8abef95bb600c0cd586bded79e66ffecee7f3718b29ff9
4
+ data.tar.gz: ac4a31fc20511049109384f3550cb5d23731309ff85c2f342458f7028053ad4d
5
5
  SHA512:
6
- metadata.gz: db36d974950e3c3efda72e437b246aaa0e2aa743ff4d0c75bf10bb5498cd1affb5165cbe78ab54753f6d9e2453765607d19c55dd626830bafa2c44419d87136d
7
- data.tar.gz: bbed39728ba2f07445271073fe47469da62d617f01be478b94e8de6742acd87103326155aa1502210e8f1041141eedc96815ee9a54ece38549a10f593c5bee95
6
+ metadata.gz: 8f56dbee72ca222c9d7663a24ce6c3f78c2183378132926a740a7d3f2009ebdef9c3f74315d22e86138998c9b5df1673080a14fba72f813f2e6acef966396719
7
+ data.tar.gz: b7df486c831afefdb21a66d31b5881a9ebd3ca684865c53035234c465d265ce94cb83fdb0340f2f44751b6dd3ad42f91feb4775dfb7e761d60d47fe10ac79c8e
@@ -92,7 +92,7 @@ module DateCommon
92
92
  # TESTED
93
93
  def self.last_date_of_month(date)
94
94
  # fucking god awful approach but it works; refactor
95
-
95
+
96
96
  # the 31st
97
97
  begin
98
98
  date_end = Date.new(date.year, date.month, 31)
@@ -189,11 +189,13 @@ module DateCommon
189
189
  #
190
190
  def self.parse_date(text)
191
191
  date_text = extract_date_string(text)
192
+ puts date_text
192
193
  date = recognize_date(date_text)
193
194
  return date
194
195
  end
195
196
 
196
197
  def self.extract_date_string(text)
198
+ #raise "foo"
197
199
  patterns = []
198
200
  patterns << / (o?n?|l?a?s?t?) ?(monday) ?/i
199
201
  patterns << / (o?n?|l?a?s?t?) ?(tuesday) ?/i
@@ -219,8 +221,12 @@ module DateCommon
219
221
 
220
222
  patterns = []
221
223
  patterns << / on ([0-9]+) ([0-9]+) ?/
224
+ patterns << /[0-9]+\/[0-9]+/
225
+ patterns << /[0-9]+-[0-9]+/
226
+ patterns << /[0-9]+ [0-9]+/
222
227
  patterns.each do |pattern|
223
228
  if text =~ pattern
229
+
224
230
  current_year = Date.today.year
225
231
  return Date.new(current_year, $1.to_i, $2.to_i).to_s.downcase
226
232
  end
@@ -257,6 +263,29 @@ module DateCommon
257
263
  parts = text.split("-")
258
264
  return Date.new(parts[0].to_i, parts[1].to_i, parts[2].to_i)
259
265
  end
266
+
267
+ if text =~ /[0-9]+\/[0-9]+\/[0-9]+/
268
+ parts = text.split("/")
269
+ return Date.new(parts[0].to_i, parts[1].to_i, parts[2].to_i)
270
+ end
271
+
272
+ if text =~ /[0-9]+-[0-9]+-[0-9]+/
273
+ parts = text.split("-")
274
+ return Date.new(parts[0].to_i, parts[1].to_i, parts[2].to_i)
275
+ end
276
+
277
+ if text =~ /([0-9]+)\/([0-9]+)/
278
+ #parts = text.split("-")
279
+ year = Date.today.year
280
+ return Date.new(year, $1.to_i, $2.to_i)
281
+ end
282
+
283
+ if text =~ /([0-9]+)-([0-9]+)/
284
+ #parts = text.split("-")
285
+ year = Date.today.year
286
+ return Date.new(year, $1.to_i, $2.to_i)
287
+ end
288
+
260
289
 
261
290
  # monday / tuesday / wednesday.
262
291
  if text =~ /.+day/
@@ -1,3 +1,3 @@
1
1
  module DateCommon
2
- VERSION = "0.11"
2
+ VERSION = "0.12"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: date_common
3
3
  version: !ruby/object:Gem::Version
4
- version: '0.11'
4
+ version: '0.12'
5
5
  platform: ruby
6
6
  authors:
7
7
  - Scott Johnson
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-09-10 00:00:00.000000000 Z
11
+ date: 2020-09-24 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: A small library of date handling routines that I use on almost every
14
14
  project.