- def get_all_subclasses_of(string)  
 -   raise ArgumentError.new("#{string} is not an AR Class") if eval(string).class.ancestors  
 -     .collect {|e| e.to_s.downcase}.include? ("ActiveRecord::Base")  
 -   
 -    return ObjectSpace.subclasses_of(eval(string))  
 - end  
 
Ruby On Rails and a Conning Israeli entrepreneur
get classes of a class
num_to_english SVN
Number to english
num_to_english is my first plugin, i kinda thought it would become a nice addition to the Fixnum class in Ruby.
num_to_english hooks up to the Fixnum class and enables the use of the to_english method as follows
eizesus@eizesus-desktop:~/Projects/testing/trunk$ script/console
Loading development environment.
>> 3.to_english
=> "three"
>> 12.to_english
=> "twelve"
>> 34.to_english
=> "thirty-four"
>> 100.to_english
=> "one hundred"
>> (100 + 321).to_english
=> "four hundred twenty-one"
>> 12312311.to_english
=> "twelve million, three hundred twelve thousand, three hundred eleven"
get it from  http://svn.creopolis.com/num_to_english/trunk
counter_cache
Many times when using a belongs_to relation, we encounter the need to size up that association, we can use 2 methods which are created for us, size and (association_pluralization)_count.
so if SuperHero has_many :super_powers than:
me = SuperHero.find(1)
me.super_powers.size
me.super_powers_count
they will both issue that same SQL statement at this point
SELECT count(*) as count_all FROM super_powers WHERE (super_hero_id = 1)
which basically preforms a SELECT * statement,  we don't like it :)
the :counter_cache parameter for the belongs_to macro, indicates the use of a (association_pluralization)_count named column which will be incremented and decremented according to the use of the associative array, this can and does save a lot of time and DB - APP - DB roundup's.
 
Twiters Around
About Me
- Elad Meidar
 - I am a web developer for more than 9 years, managed, cried, coded, designed and made money in this industry. now trying to do it again.
 
Labels
- 1.9 (1)
 - 2.0 (1)
 - 2.2 (1)
 - 2.3 (1)
 - 2.x (1)
 - accessibility (2)
 - account (1)
 - actionmailer (1)
 - activerecord (3)
 - adsense (1)
 - affiliate (1)
 - ajax (3)
 - amazon (4)
 - analytics (1)
 - api (3)
 - application (1)
 - array (1)
 - associations (1)
 - attachment_fu (1)
 - autocomplete (1)
 - aws (2)
 - blog (4)
 - books (4)
 - boolean (1)
 - browser (8)
 - browsers (3)
 - bugs (4)
 - buzz (1)
 - callback (1)
 - callbacks (1)
 - caller (1)
 - capistrano (1)
 - chronic (1)
 - class (2)
 - classes (1)
 - classifieds (1)
 - client (1)
 - coding (2)
 - collboration (1)
 - console (2)
 - convert (1)
 - core (2)
 - core. object (1)
 - cost (1)
 - css (7)
 - database (10)
 - date (3)
 - dating (1)
 - db (2)
 - debug (2)
 - deploy (5)
 - deployment (3)
 - design (11)
 - development (5)
 - dojo (1)
 - eager (1)
 - ec2 (2)
 - effects (1)
 - elad (2)
 - email (3)
 - engine (1)
 - engineyard (1)
 - english (1)
 - entrepreneur (1)
 - environment (2)
 - erd (1)
 - error (1)
 - example (1)
 - expire (1)
 - explorer (1)
 - extention (1)
 - extra (2)
 - facebook (2)
 - fast (1)
 - file (1)
 - files (1)
 - firefox (4)
 - fixtures (1)
 - font (1)
 - form (1)
 - framework (16)
 - free (6)
 - funny (2)
 - gem (7)
 - gems (2)
 - git (5)
 - globalize (2)
 - gmail (3)
 - google (8)
 - graphes (2)
 - graphics (1)
 - guides (4)
 - hacks (1)
 - hosting (1)
 - html (1)
 - http (1)
 - ie (5)
 - ie8 (1)
 - image (2)
 - indomite (1)
 - install (1)
 - iphone (1)
 - israel (2)
 - javascript (19)
 - JQuery (10)
 - js (3)
 - legacy (1)
 - leopard (1)
 - lib (1)
 - library (3)
 - links (2)
 - list (1)
 - loading (1)
 - log (1)
 - logger (2)
 - logging (1)
 - love (1)
 - mac (4)
 - mail (2)
 - manuals (1)
 - mapping (1)
 - mass (1)
 - mephisto (3)
 - mercurial (1)
 - meta (1)
 - metaprogramming (3)
 - microsoft (1)
 - migrations (2)
 - minimagick (1)
 - mistake (1)
 - mistakes (1)
 - model (1)
 - money (4)
 - mootools (4)
 - move (1)
 - movies (2)
 - music (1)
 - mvc (2)
 - mysql (2)
 - native (1)
 - nested (1)
 - network (1)
 - new (1)
 - newsletter (1)
 - num_to_english (1)
 - numbers (2)
 - object (1)
 - observer (1)
 - ohad (1)
 - open (1)
 - operators (1)
 - optimization (4)
 - oracle (4)
 - overload (1)
 - parse (1)
 - pdf (4)
 - php (3)
 - plugin (11)
 - plugins (7)
 - programming (4)
 - programs (1)
 - projects (5)
 - prototype (1)
 - queries (1)
 - rails (50)
 - rails 2.0 (10)
 - rails 2.1 (6)
 - rake (2)
 - rants (1)
 - record (1)
 - reflections (1)
 - release (3)
 - rendering (1)
 - reset (1)
 - resize (1)
 - rest (1)
 - rjs (1)
 - ror (1)
 - routes (3)
 - routes.rb (2)
 - ruby (49)
 - ruby on bells (2)
 - ruby on rails (28)
 - ruby-debug (1)
 - s3 (2)
 - salary (1)
 - scaling (2)
 - schema (2)
 - screencasts (1)
 - script (4)
 - scripts (1)
 - search engine optimization (1)
 - security (3)
 - seeking alpha (1)
 - select (1)
 - sendmail (1)
 - seo (2)
 - sequencer (1)
 - sessions (1)
 - share (2)
 - shell (1)
 - site (3)
 - site map (1)
 - sites (1)
 - skype (1)
 - social (2)
 - source (1)
 - source control (4)
 - sprites (1)
 - sql (1)
 - stand alone (1)
 - standards (1)
 - startup (6)
 - storage (2)
 - subversion (4)
 - svn (1)
 - team (1)
 - technology (1)
 - testing (1)
 - textmate (1)
 - thread (1)
 - time (1)
 - tips (45)
 - tools (5)
 - tracking (1)
 - tricks (36)
 - tutorials (5)
 - ui (4)
 - uml (1)
 - update (1)
 - upgrading (2)
 - url (1)
 - usability (2)
 - user interface (7)
 - validations (1)
 - vector (1)
 - vote (1)
 - web (9)
 - web services (2)
 - web2.0 (4)
 - webistrano (1)
 - wire (1)
 - wwr (1)
 - xhtml (1)
 - yahoo (1)
 - yui (1)
 - רובי (8)
 - רובי און ריילס (7)