Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Merged
merged 1 commit into from
Feb 8, 2018

Conversation

javierjulio
Copy link
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
Copy link
Contributor

sausman commented Feb 8, 2018

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