thinkerbot / data_graph Goto Github PK
View Code? Open in Web Editor NEWSimplified eager loading for ActiveRecord
License: Other
Simplified eager loading for ActiveRecord
License: Other
= DataGraph Simplified eager loading for ActiveRecord == Description The default eager loading mechanism of ActiveRecord has numerous cases where these two are not equivalent as you might expect: Model.find(:first, :include => :assoc).assoc Model.find(:first).assoc As a result it gets tricky to make associations that work correctly via include. Oftentimes too much data gets returned. DataGraph makes eager loading easier by providing a way to declare and load a specific set of associated data. == Usage DataGraph uses a syntax based on the serialization methods. require 'data_graph' graph = Model.data_graph( :only => [:a, :b, :c], :include => { :assoc => { :only => [:x, :y] }}) data = graph.find(:first) data.a # => 'A' data.assoc.x # => 'X' data.assoc.z # !> ActiveRecord::MissingAttributeError Any number of associations may be specified this way, and to any nesting depth. DataGraph always uses a 'one query per-association' strategy and never reverts to left outer joins the way include sometimes will. == Installation DataGraph is available as a gem on {Gemcutter}[http://gemcutter.org/gems/data_graph] % gem install data_graph == Info Developer:: {Simon Chiang}[http://bahuvrihi.wordpress.com] License:: {MIT-Style}[link:files/License_txt.html]
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.