date-formats 0.2.0 → 0.2.1

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: 81aad612afdba8f85e731f97c1bc119499a8211d
4
- data.tar.gz: e013e9bdac91e1938149d395b946c535b2c75714
3
+ metadata.gz: 1010733e087d7c58d3c5c0f9ca8ce2a3169b9c32
4
+ data.tar.gz: 9b4df62cec97cb802826beccfd6949f82f29a626
5
5
  SHA512:
6
- metadata.gz: 718656e27eab527b211337e3a9fef08030017d2b31f7c59fa89b2292df61275a8b9f1ca247e5f9a5eacad03782d83890cd1a37f5d2d6c5ff541ce0ef67c579bc
7
- data.tar.gz: c9470e38606e1b909230e8e62187cb1ba2f29f4bd4d99a48fc8125445d80b08e7ac37e37c7d08e463739d7bca767526ab535e0f0016d1f8abc546e16a55cb551
6
+ metadata.gz: c54b6785497270059a504664ebde54b6a978077a8f2cae242bfe59d1ea66d2bfff522c7f54ad12ca107528f061b8fc50643840b638c95db574b66f9a7eaa6494
7
+ data.tar.gz: b522cd86b0617a63f7c7fea943781601063f1bc6ac1c9be7978f134986962006f37926d38651fc66027ed2b8e6fe84f4ce54e197e27154eae3fdf859fd9dadee
@@ -3,12 +3,13 @@ Manifest.txt
3
3
  README.md
4
4
  Rakefile
5
5
  lib/date-formats.rb
6
- lib/date-formats/date.rb
7
6
  lib/date-formats/formats.rb
7
+ lib/date-formats/names.rb
8
+ lib/date-formats/parser.rb
8
9
  lib/date-formats/reader.rb
9
- lib/date-formats/source.rb
10
10
  lib/date-formats/version.rb
11
11
  lib/date/formats.rb
12
12
  test/helper.rb
13
- test/test_date.rb
14
- test/test_formats.rb
13
+ test/test_parse.rb
14
+ test/test_parse_custom.rb
15
+ test/test_version.rb
@@ -12,7 +12,7 @@ require 'logutils'
12
12
  # our own code
13
13
  require 'date-formats/version' # let version always go first
14
14
  require 'date-formats/reader'
15
- require 'date-formats/source'
15
+ require 'date-formats/names' ## month and day names (e.g. January,.. Monday,...)
16
16
 
17
17
 
18
18
  module DateFormats
@@ -37,7 +37,7 @@ end # module DateFormats
37
37
 
38
38
 
39
39
  require 'date-formats/formats'
40
- require 'date-formats/date'
40
+ require 'date-formats/parser'
41
41
 
42
42
 
43
43
 
@@ -150,6 +150,7 @@ EN__MONTH_DD__DATE_RE = /\b
150
150
  \b/x
151
151
 
152
152
 
153
+
153
154
  # e.g. 12 Ene w/ implied year
154
155
  ES__DD_MONTH__DATE_RE = /\b
155
156
  (?<day>\d{1,2})
File without changes
@@ -9,6 +9,7 @@ module DateFormats
9
9
  end
10
10
  def self.lang=( value )
11
11
  @@lang = value.to_sym ## note: make sure lang is always a symbol for now (NOT a string)
12
+ @@lang ## todo/check: remove =() method always returns passed in value? double check
12
13
  end
13
14
 
14
15
 
@@ -21,14 +22,14 @@ module DateFormats
21
22
  end
22
23
 
23
24
  def self.parse( line,
24
- lang: self.class.lang,
25
+ lang: DateFormats.lang, ## todo/check: is there a "generic" like self.class.lang form? yes, module DateFormats needs to get changed to class DateFormats to work!!
25
26
  start: Date.new( Date.today.year, 1, 1 ) ## note: default to current YYYY.01.01. if no start provided
26
27
  )
27
28
  parser( lang: lang ).parse( line, start: start )
28
29
  end
29
30
 
30
31
  def self.find!( line,
31
- lang: self.class.lang,
32
+ lang: DateFormats.lang, ## todo/check: is there a "generic" like self.class.lang form?
32
33
  start: Date.new( Date.today.year, 1, 1 ) ## note: default to current YYYY.01.01. if no start provided
33
34
  )
34
35
  parser( lang: lang ).find!( line, start: start )
@@ -167,20 +168,20 @@ module DateFormats
167
168
  day = h[:day]
168
169
  year = h[:year] || calc_year( month.to_i, day.to_i, start: start ).to_s
169
170
 
170
- if h[:hours] || h[:minutes] ## check time (hours or minutes) is present (otherwise asume just Date and NOT DateTime)
171
- hours = h[:hours] || '00' # default to 00:00 for HH:MM (hours:minutes)
172
- minutes = h[:minutes] || '00'
171
+ date = if h[:hours] || h[:minutes] ## check time (hours or minutes) is present (otherwise asume just Date and NOT DateTime)
172
+ hours = h[:hours] || '00' # default to 00:00 for HH:MM (hours:minutes)
173
+ minutes = h[:minutes] || '00'
173
174
 
174
- value = '%d-%02d-%02d %02d:%02d' % [year.to_i, month.to_i, day.to_i, hours.to_i, minutes.to_i]
175
- logger.debug " datetime: >#{value}<"
175
+ value = '%d-%02d-%02d %02d:%02d' % [year.to_i, month.to_i, day.to_i, hours.to_i, minutes.to_i]
176
+ logger.debug " datetime: >#{value}<"
176
177
 
177
- date = DateTime.strptime( value, '%Y-%m-%d %H:%M' )
178
- else
179
- value = '%d-%02d-%02d' % [year.to_i, month.to_i, day.to_i]
180
- logger.debug " date: >#{value}<"
178
+ DateTime.strptime( value, '%Y-%m-%d %H:%M' )
179
+ else
180
+ value = '%d-%02d-%02d' % [year.to_i, month.to_i, day.to_i]
181
+ logger.debug " date: >#{value}<"
181
182
 
182
- date = Date.strptime( value, '%Y-%m-%d' )
183
- end
183
+ Date.strptime( value, '%Y-%m-%d' )
184
+ end
184
185
 
185
186
  ## check/assert cwday if present!!!!
186
187
  date
@@ -4,7 +4,7 @@
4
4
  module DateFormats
5
5
  MAJOR = 0 ## todo: namespace inside version or something - why? why not??
6
6
  MINOR = 2
7
- PATCH = 0
7
+ PATCH = 1
8
8
  VERSION = [MAJOR,MINOR,PATCH].join('.')
9
9
 
10
10
  def self.version
@@ -2,12 +2,12 @@
2
2
 
3
3
  ###
4
4
  # to run use
5
- # ruby -I ./lib -I ./test test/test_date.rb
5
+ # ruby -I ./lib -I ./test test/test_parse.rb
6
6
 
7
7
 
8
8
  require 'helper'
9
9
 
10
- class TestDate < MiniTest::Test
10
+ class TestParse < MiniTest::Test
11
11
 
12
12
  def test_date
13
13
  data = [
@@ -43,17 +43,11 @@ class TestDate < MiniTest::Test
43
43
  [ 'Oct/12 2013 16:00', '2013-10-12 16:00', '[EN_MONTH_DD_YYYY_hh_mm]' ],
44
44
 
45
45
  [ 'Jan/26 2011', '2011-01-26', '[EN_MONTH_DD_YYYY]' ],
46
- [ 'Jan/26 2011', '2011-01-26', '[EN_MONTH_DD_YYYY]' ],
47
-
48
- [ 'Jan/26', '2013-01-26', '[EN_MONTH_DD]' ],
49
46
  [ 'Jan/26', '2013-01-26', '[EN_MONTH_DD]' ],
50
47
  [ '26 January', '2013-01-26', '[EN_DD_MONTH]' ],
51
- [ '26 January', '2013-01-26', '[EN_DD_MONTH]' ],
52
48
 
53
- [ 'Jun/13', '2013-06-13', '[EN_MONTH_DD]' ],
54
49
  [ 'Jun/13', '2013-06-13', '[EN_MONTH_DD]' ],
55
50
  [ '13 June', '2013-06-13', '[EN_DD_MONTH]' ],
56
- [ '13 June', '2013-06-13', '[EN_DD_MONTH]' ]
57
51
  ]
58
52
 
59
53
  assert_dates( data, start: Date.new( 2013, 1, 1 ), lang: 'en' )
@@ -105,4 +99,4 @@ private
105
99
  assert_date( exp, value )
106
100
  assert_time( exp, value )
107
101
  end
108
- end # class TestDate
102
+ end # class TestParse
@@ -0,0 +1,25 @@
1
+ # encoding: utf-8
2
+
3
+ ###
4
+ # to run use
5
+ # ruby -I ./lib -I ./test test/test_parse_custom.rb
6
+
7
+
8
+ require 'helper'
9
+
10
+ class TestParseCustom < MiniTest::Test
11
+
12
+ def parse( line, start: )
13
+ @@parser ||= DateFormats::RsssfDateParser.new
14
+ @@parser.parse( line, start: start )
15
+ end
16
+
17
+ def test_rsssf
18
+ year = Date.today.year
19
+ start = Date.new( year, 1, 1 )
20
+
21
+ assert_equal Date.new( year, 4, 12 ), parse( '[Apr 12]', start: start )
22
+ assert_equal Date.new( year, 4, 12 ), parse( '[April 12]', start: start )
23
+ end
24
+
25
+ end # class TestParseCustom
@@ -2,12 +2,12 @@
2
2
 
3
3
  ###
4
4
  # to run use
5
- # ruby -I ./lib -I ./test test/test_formats.rb
5
+ # ruby -I ./lib -I ./test test/test_version.rb
6
6
 
7
7
 
8
8
  require 'helper'
9
9
 
10
- class TestFormats < MiniTest::Test
10
+ class TestVersion < MiniTest::Test
11
11
 
12
12
  def test_version
13
13
  pp DateFormats::VERSION
@@ -15,4 +15,4 @@ class TestFormats < MiniTest::Test
15
15
  pp DateFormats.root
16
16
  end
17
17
 
18
- end # class TestFormats
18
+ end # class TestVersion
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: date-formats
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Gerald Bauer
@@ -67,15 +67,16 @@ files:
67
67
  - README.md
68
68
  - Rakefile
69
69
  - lib/date-formats.rb
70
- - lib/date-formats/date.rb
71
70
  - lib/date-formats/formats.rb
71
+ - lib/date-formats/names.rb
72
+ - lib/date-formats/parser.rb
72
73
  - lib/date-formats/reader.rb
73
- - lib/date-formats/source.rb
74
74
  - lib/date-formats/version.rb
75
75
  - lib/date/formats.rb
76
76
  - test/helper.rb
77
- - test/test_date.rb
78
- - test/test_formats.rb
77
+ - test/test_parse.rb
78
+ - test/test_parse_custom.rb
79
+ - test/test_version.rb
79
80
  homepage: https://github.com/sportdb/sport.db
80
81
  licenses:
81
82
  - Public Domain