How to get collection of models inside your application. Certainly there are many ways to do it.
Lets have a look at different ways starting from worst -
Get table names inside database and then iterating over to get model name <div class='code-highlight'><pre class='code-highlight-pre'><div data-line='1' class='code-highlight-row numbered'><div class='code-highlight-line'>@models=ActiveRecord::Base.connection.tables.collect{|t|t.underscore.singularize.camelize}
</div></div><div data-line='2' class='code-highlight-row numbered'><div class='code-highlight-line'> </div></div><div data-line='3' class='code-highlight-row numbered'><div class='code-highlight-line'>#=> ["AdhearsionAudit", "AudioLog", "AuditDetail","TinyPrint", "TinyVideo", "UnknownCall", "UserAudit", "User"]</div></div></pre></div>
Select those with associated class <div class='code-highlight'><pre class='code-highlight-pre'><div data-line='1' class='code-highlight-row numbered'><div class='code-highlight-line'>@models.delete_if{|m|m.constantizerescuetrue}</div></div></pre></div>
Load models dir <div class='code-highlight'><pre class='code-highlight-pre'><div data-line='1' class='code-highlight-row numbered'><div class='code-highlight-line'>@models=Dir['app/models/*.rb'].map{|f|File.basename(f,'.*').camelize.constantize.name}</div></div></pre></div>
Select ActiveRecord::Base extended class only <div class='code-highlight'><pre class='code-highlight-pre'><div data-line='1' class='code-highlight-row numbered'><div class='code-highlight-line'>@models.reject!{|m|m.constantize.superclass!=ActiveRecord::Base}</div></div></pre></div>