I have a simple method running in a private method in my model :

```
def with_time_zone(zone)
  @old_time_zone = Time.zone
  Time.zone = self.account.timezone
  Chronic.time_class = Time.zone
  yield
ensure
  Time.zone = @old_time_zone
  Chronic.time_class = @old_time_zone
end

```

I use it like this :

```
with_time_zone(account.timezone) do
  Time.parse(@time)
end

```

However, when I run my tests, the begin with the timezone set to EST, but when it comes time to compare the times, the `Time.zone` will be set to which ever timezone was last used in that block. Thus telling me that the `ensure` method isn't being called, and the Time.zone is not being reset.

Anyone know why this might be occurring?