What does require_self mean?

In rails3.1 application.css we could see

/*
 *= require_self
 *= require_tree .
*/

I know that require_tree . is just telling the system to bundle together everything from the stylesheets folder into a single file.

But what does require_self tells?


From http://guides.rubyonrails.org/asset_pipeline.html:

/* ...
*= require_self
*= require_tree .
*/

"In this example require_self is used. This will put the CSS contained within the file (if any) at the top of any other CSS in this file unless require_self is specified after another require directive."


Shedd's answer used to be correct but now the meaning has changed ever so slightly;

Again, from http://guides.rubyonrails.org/asset_pipeline.html (bolding my own):

In this example require_self is used. This puts the CSS contained within the file (if any) at the precise location of the require_self call. If require_self is called more than once, only the last call is respected.

So you can have require_self at any point, and any CSS you have in the file will be injected into the point you wrote require_self