Skip to content

Require time lib otherwise Time.iso8601 is undefined by default#38

Merged
sausman merged 1 commit into
Dwolla:masterfrom
javierjulio:add-time
Feb 8, 2018
Merged

Require time lib otherwise Time.iso8601 is undefined by default#38
sausman merged 1 commit into
Dwolla:masterfrom
javierjulio:add-time

Conversation

@javierjulio

Copy link
Copy Markdown
Contributor

While I was working on the changes in #37 I noticed that the timestamps in responses remained as strings but I had already seen the middleware and knew it was supposed to be converted. The issue is that while I was in a bundle console the library is loaded as you have it defined but when using this in say a Rails app you wouldn't notice the issue as the time lib is already required by Rails. This just makes it a clear dependency here and now you'll see times being converted. Before the change it was: "created"=>"2018-01-03T23:42:08.963Z"} because Time.iso8601 is an undefined but since it also had a rescue statement it was swallowing that error. Now including the changes in this PR it came out to: "created"=>2018-01-03 23:42:08 UTC} so you can see its being converted.

In the `Util.deep_parse_iso8601_values` we reference `Time.iso8601` but
to use that in Ruby you need to require the time library otherwise the
method is undefined. The implementation has a `rescue` but that was
unintended since its only meant to capture cases where a string can’t
be converted to a time object. We weren’t seeing any errors here
because it also caught the undefined error and let the time be a string
value.
@sausman sausman merged commit 36c14fa into Dwolla:master Feb 8, 2018
@sausman

sausman commented Feb 8, 2018

Copy link
Copy Markdown
Contributor

Nice catch @javierjulio! Thanks.

Version 2.1.0 was just released with this change 👍

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants