What's the meaning of @@?

I’m reading several files from RubyOnRails package, and this code:

@@default_error_messages = {
  :inclusion => "is not included in the list",
  :exclusion => "is reserved",
  :invalid => "is invalid",
  :confirmation => "doesn't match confirmation",
  :accepted  => "must be accepted",
  :empty => "can't be empty",
  :blank => "can't be blank",
  :too_long => "is too long (maximum is %d characters)",
  :too_short => "is too short (minimum is %d characters)",
  :wrong_length => "is the wrong length (should be %d characters)",
  :taken => "has already been taken",
  :not_a_number => "is not a number",
  :greater_than => "must be greater than %d",
  :greater_than_or_equal_to => "must be greater than or equal to %d",
  :equal_to => "must be equal to %d",
  :less_than => "must be less than %d",
  :less_than_or_equal_to => "must be less than or equal to %d",
  :odd => "must be odd",
  :even => "must be even"
}

What’s the meaning of @@? Double instantiated?

Hi--

I'm reading several files from RubyOnRails package, and this code:

   @@default_error_messages = {
     :inclusion => "is not included in the list",
     :exclusion => "is reserved",
     :invalid => "is invalid",
     :confirmation => "doesn't match confirmation",
     :accepted => "must be accepted",
     :empty => "can't be empty",
     :blank => "can't be blank",
     :too_long => "is too long (maximum is %d characters)",
     :too_short => "is too short (minimum is %d characters)",
     :wrong_length => "is the wrong length (should be %d characters)",
     :taken => "has already been taken",
     :not_a_number => "is not a number",
     :greater_than => "must be greater than %d",
     :greater_than_or_equal_to => "must be greater than or equal to %d",
     :equal_to => "must be equal to %d",
     :less_than => "must be less than %d",
     :less_than_or_equal_to => "must be less than or equal to %d",
     :odd => "must be odd",
     :even => "must be even"
   }

What's the meaning of @@? Double instantiated?

@@var is a class variable. It's got a somewhat odd visibility pattern:
it's visible to the class it's defined in, all subclasses of that
class, and all instances of the above. It's a quick-'n'-easy way to
store data that both a class and its instances can see, but it's got a
kind of quasi-global (or hierarchy-global) quality to it that makes it
a bit error-prone.

David

What's the meaning of @@? Double instantiated?

Nope. http://www.zenspider.com/Languages/Ruby/QuickRef.html#16

Fred