etozzato/Hash_All
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
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, ... }
About
Wrapper/helper for ActiveRecord find(:all, *args). Returns a collection of objects injected into a Hash.
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published