strange behavior of ActiveSupport::TimeZone

I was working with the method "in_time_zone" for the class
ActiveSupport::TimeZone, when I found an unwanted behavior.

I want to set my sights so that display the times for the main zone of
Brazil (UTC-3). During the period not DST there is no problem.
Instead to view the times for the period DST there are a problem: the
southern Brazilian states adopt DST (which means UTC-2), while the
states in the north do not use DST (which means UTC-3).

then to overcome this I was going to do this:

#on application.rb
config.time_zone = 'Brasilia'

#on a generic view

<%
  # generate a time in the summer austral hemisphere
  time_in_summer_austral_hemisphere = Time.local(2010,1,1)
  # set the timezone to UTC-2 (DST zone)
  time_in_brazilian_dst =
time_in_summer_austral_hemisphere.in_time_zone(-2)
  # set the timezone to UTC-3 ( zone without DST)
  time_in_brazilian_not_dst =
time_in_summer_austral_hemisphere.in_time_zone(-3)

  puts time_in_brazilian_dst
  # Fri, 01 Jan 2010 00:00:00 GST -02:00
  puts time_in_brazilian_not_dst
  Fri, 01 Jan 2010 00:00:00 BRST -02:00
%>

As you can see, both the conversion to UTC-2 or UTC-3 shows that the
same time

anyone have any idea why this behavior?