date_common 0.11 → 0.12

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
  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.