What does :: do in this case?

Hi

This is in the Rails acts_as_list module but I think is a general Ruby
question. I don't understand the syntax of the ::#{self.name}
statement. I haven't seen :: without something preceding it. I think I
understand what this method enables the plugin to do: use the class
name in which the module is mixed.

Thanks,
Peter

module ActiveRecord
  module Acts
    module List

      def acts_as_list_class
        ::#{self.name}
      end

    end
  end
end

Unless that's in a section of string code to be evaled, that's
actually a syntax error. (The #{} syntax is only valid in strings).

However, if you do:

  ::File

You mean specifically that you want the File constant visible at the top level.

-austin

···

On 11/20/05, petermichaux@yahoo.com <petermichaux@yahoo.com> wrote:

This is in the Rails acts_as_list module but I think is a general Ruby
question. I don't understand the syntax of the ::#{self.name}
statement. I haven't seen :: without something preceding it. I think I
understand what this method enables the plugin to do: use the class
name in which the module is mixed.

--
Austin Ziegler * halostatue@gmail.com
               * Alternate: austin@halostatue.ca