revs-utils 1.0.13 → 1.0.14

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- NjU2NmIwNThmMTdhOTYzNjE1YjMzZGYzNDVmOTkxMGViMTEzZmVkZA==
4
+ NWQyNzQ0ZDdhYmMzZmY3OTRiOGQ4MDAwYjJmODhmOTlkNDYwOGI0Zg==
5
5
  data.tar.gz: !binary |-
6
- NDNjZWEwMzJmYmMyMWE2ZmJjMjM4ZDk2NmFmNzJhNDVmNGNiNTBlOA==
6
+ ZDNjMjY4NjExMzBlODMzZDc5MzgzOWE4YWRlNzBmODhiMWRlZmQ1Yw==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- ZmMxNDcwYjJmNDY1NzBiYzExYjMxZGVkOGMzNjA5YTVhNzg2ZWRhNGZhODBk
10
- NmMzMGNlOTFlZDRjODNmZjFkNTlhZGQ4OWVlNTg0ZjQ2NTdhNzJkMDVlNjU1
11
- Y2VmYzYyNDQzN2VlNGE0N2FmNGU2ZGQ2MWI0ODVkMDI5NjgyNjk=
9
+ NDRhYjMwYjFlYWMzNWZjMGZkYzBjMzg5ZWU2NmY3NjI3YzNmNDI2ZjhlNTdl
10
+ MTE5MmEzYzVlZTliMzQ1NTA2MDU4MTkyNTAyZjU5NmNmNTZmZDkwZjk5MTYx
11
+ NWRkYTRmYmZiNmQyZTZkZDU1Y2UwMjczMDBiNDYxOTc2MjMxYzY=
12
12
  data.tar.gz: !binary |-
13
- ZmIwZWQxZDBlNTM0ZjIzYmQ4YTliZWQyZTc2NmY3OGY4ZDAzZjM5MjRlZGJk
14
- OTE4MzFhZTNiN2YyYzYyNDlmNjA2ODljYThiMzMwNDZiMGFhNTk1YzRiM2E2
15
- YjcxN2YxYmI5ZTc0YTMwZjAxM2IzNmJjYThmZDZlOWQ0OGNhOGE=
13
+ NWFhYjRkNTYwZDI3Y2JjMDQ2YTVkMDI2NzEwZTFjYTM0ZTc3MTQzOGYxNWMw
14
+ ODZjZDIxNzU4ODFlYzBmOTkyZjIwNDA0Y2UwNzg0YThjMGEyNjc3MmMzZWVm
15
+ YjBiYmUzOWI4OTc5YmE5N2ZhMzAzMzAwMDc5YzhlNWM5Y2U4YWE=
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- revs-utils (1.0.12)
4
+ revs-utils (1.0.13)
5
5
  actionpack (~> 3)
6
6
  chronic
7
7
  countries (= 0.9.2)
@@ -240,6 +240,7 @@ module Revs
240
240
  # tell us if the string passed is in is a full date of the format M/D/YYYY or m-d-yyyy or m-d-yy or M/D/YY, and returns the date object if it is valid
241
241
  def get_full_date(date_string)
242
242
  begin
243
+ return false if date_string.scan(/(-|\/)/).count < 2 # we need at least two / or - characters to count as a full date
243
244
  date_obj=Chronic.parse(date_string).to_date
244
245
  date_obj=date_obj.prev_year(100) if date_obj > Date.today # if the parsing yields a date in the future, this is a problem, so adjust back a century (due to this issue: http://stackoverflow.com/questions/27058068/ruby-incorrectly-parses-2-digit-year)
245
246
  is_valid_year?(date_obj.year.to_s) ? date_obj : false
@@ -1,5 +1,5 @@
1
1
  module Revs
2
2
  module Utils
3
- VERSION = "1.0.13"
3
+ VERSION = "1.0.14"
4
4
  end
5
5
  end
@@ -76,17 +76,30 @@ describe "Revs-Utils" do
76
76
  end
77
77
 
78
78
  it "should indicate if a date is valid" do
79
+
80
+ # formats that are ok
79
81
  @revs.get_full_date('5/1/1959').should == Date.strptime("5/1/1959", '%m/%d/%Y')
80
82
  @revs.get_full_date('5-1-1959').should == Date.strptime("5/1/1959", '%m/%d/%Y')
81
83
  @revs.get_full_date('5-1-2014').should == Date.strptime("5/1/2014", '%m/%d/%Y')
82
- @revs.get_full_date('5-1-59').should == Date.strptime("5/1/1959", '%m/%d/%Y') # deal with two digit years ok too
83
- @revs.get_full_date('1/1/71').should == Date.strptime("1/1/1971", '%m/%d/%Y') # deal with two digit years ok too
84
- @revs.get_full_date('5-1-14').should == Date.strptime("5/1/2014", '%m/%d/%Y') # deal with two digit years ok too
85
- @revs.get_full_date('5-1-21').should == Date.strptime("5/1/1921", '%m/%d/%Y') # deal with two digit years ok too
86
- @revs.get_full_date('1966-02-27').should == Date.strptime("2/27/1966", '%m/%d/%Y') # deal with alternate formats
87
- @revs.get_full_date('1966-2-5').should == Date.strptime("2/5/1966", '%m/%d/%Y') # deal with alternate formats
88
- @revs.get_full_date('1966-14-11').should be_false
89
- @revs.get_full_date('bogus').should be_false
84
+ @revs.get_full_date('5-1-59').should == Date.strptime("5/1/1959", '%m/%d/%Y')
85
+ @revs.get_full_date('1/1/71').should == Date.strptime("1/1/1971", '%m/%d/%Y')
86
+ @revs.get_full_date('5-1-14').should == Date.strptime("5/1/2014", '%m/%d/%Y')
87
+ @revs.get_full_date('5-1-21').should == Date.strptime("5/1/1921", '%m/%d/%Y')
88
+ @revs.get_full_date('1966-02-27').should == Date.strptime("2/27/1966", '%m/%d/%Y')
89
+ @revs.get_full_date('1966-2-5').should == Date.strptime("2/5/1966", '%m/%d/%Y')
90
+
91
+ # bad full dates
92
+ @revs.get_full_date('1966-14-11').should be_false # bad month
93
+ @revs.get_full_date('1966\4\11').should be_false # slashes are the wrong way
94
+ @revs.get_full_date('bogus').should be_false # crap string
95
+ @revs.get_full_date('').should be_false # blank
96
+ @revs.get_full_date('1965').should be_false # only the year
97
+ @revs.get_full_date('1965-68').should be_false # range of years
98
+ @revs.get_full_date('1965,1968').should be_false # multiple years
99
+ @revs.get_full_date('1965|1968').should be_false # multiple years
100
+ @revs.get_full_date('1965-1968').should be_false # multiple years
101
+ @revs.get_full_date('1965-8').should be_false # multiple years
102
+
90
103
  end
91
104
 
92
105
  it "should indicate if we have a valid year" do
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: revs-utils
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.13
4
+ version: 1.0.14
5
5
  platform: ruby
6
6
  authors:
7
7
  - Peter Mangiafico