RubyGems Navigation menu

hash_all 2.0.0

Wrapper/helper for ActiveRecord <tt>find(:all, *args)</tt>. Returns a collection of objects injected into a Hash. The attribute used as a key for the Hash should be specified as first argument. if :fetch is not specified in the arguments the whole object will be assigned as value, otherwise only the attribute spefified. You can pass in all the same arguments to this method as you can to <tt>find(:all)</tt>. Example Given the models: Feed(id: integer, state: string, name: string) Post(id: integer, feed_name: string, title: string, url: string) count the number of posts of every state. Row count is too high to use SQL JOIN. @post_per_state = {} feeds = Feed.hash_all('feed_name', :fetch => 'state') posts = Post.all(:select => 'COUNT(id), feed_name', :group => 'feed_name') posts.each do |p| @post_per_state[feeds[p.feed_name]] ||= 0 @post_per_state[feeds[p.feed_name]] += p.attributes['COUNT(id)'].to_i end => {"new york"=>6, "georgia"=>11, "new mexico"=>2, ... }

Gemfile:
= Copy to clipboard Copied!

install:
=

Versions:

  1. 2.0.2 - February 24, 2012 (5 KB)
  2. 2.0.1 - March 31, 2011 (4.5 KB)
  3. 2.0.0 - March 31, 2011 (5.5 KB)

Owners:

Authors:

  • Emanuele Tozzato

SHA 256 checksum:

0408c75e91f48d52825955b1564f4baacda72678f9b2512d27fcc395d5c4df29

Total downloads 12,479

For this version 3,404

Licenses:

N/A

Required Ruby Version: None

Links: