Pratik Naik
9f4e98330b
Remove unused construct_finder_sql
2009-12-28 12:57:35 +05:30
Pratik Naik
a3c1db4e44
Add Model.lock and relation#lock now that arel has locking
2009-12-28 12:42:06 +05:30
Yehuda Katz
12e43494a7
Merge remote branch 'jose/perf'
2009-12-27 14:36:59 -08:00
Pratik Naik
1c26ba486c
Add Model.from and association_collection#from finder methods
2009-12-28 03:59:44 +05:30
Pratik Naik
6a776dcc9d
Use relation.from when constructing a relation
2009-12-28 03:59:44 +05:30
Pratik Naik
a0ff5f82c3
Dont delegate relation#find to to_a
2009-12-28 03:22:33 +05:30
Pratik Naik
e9e20ab601
Use arel#from instead of the current hack
2009-12-28 03:19:31 +05:30
Pratik Naik
51a1d5a670
Handle preloads and eager loads when merging relations
2009-12-28 01:33:20 +05:30
Pratik Naik
a8b10a2a8d
Add relation#merge to merge two relations
2009-12-28 01:08:34 +05:30
Pratik Naik
08312e9958
Return a new relation when blank is supplied to relation.joins
2009-12-27 23:29:41 +05:30
Pratik Naik
5565bab994
Rewrite AssociationCollection#find using relations
2009-12-27 22:32:20 +05:30
Pratik Naik
bbdeaae2ca
Add relation.destroy_all
2009-12-27 21:15:12 +05:30
Pratik Naik
5cd8818258
Make Model.destroy_all use new finders
2009-12-27 19:22:18 +05:30
Pratik Naik
352cc7c94a
Make Model.find(:last) use relations
2009-12-27 19:12:50 +05:30
Pratik Naik
d5e98dc859
Add relation.last and relation.reverse_order
2009-12-27 19:04:30 +05:30
Pratik Naik
8957f5db5d
Make Model.all just a wrapper for find(:all)
2009-12-27 18:32:10 +05:30
Pratik Naik
d6d0fe8c8f
Make Model.find(:first, ..) use relations
2009-12-27 18:28:59 +05:30
Pratik Naik
59cf5e7bf2
Make Model.exists? use relation.exists?
2009-12-27 18:10:26 +05:30
José Valim
97db79ab3c
Remove ActiveRecord runtime logging from ActionPack and place in ActiveRecord, adding it through config.action_controller.include hook.
2009-12-27 13:32:40 +01:00
Pratik Naik
2c8f83556b
Add relation.exists?
2009-12-27 18:00:49 +05:30
Pratik Naik
b31233485b
Make Model.find(:all) use relations
2009-12-27 17:43:31 +05:30
Pratik Naik
a3f3fab795
Add relation.from as a temporary workaround until arel relation has .from option
2009-12-27 17:37:36 +05:30
Pratik Naik
6f5e3a04d6
Relation should supply :from to find_with_associations
2009-12-27 17:16:20 +05:30
Pratik Naik
7b5d0e8b78
Make Model.find(ids) use relations
2009-12-27 16:56:10 +05:30
Pratik Naik
d92c4a8402
Add find(ids) to relations
2009-12-27 16:15:29 +05:30
Pratik Naik
81608cf8fa
Make Model.all return an array rather than a relation for consistency. Use Model.scoped to get a relation
2009-12-27 15:06:45 +05:30
Pratik Naik
1efc8edb5f
Fix dynamic finder docs
2009-12-27 14:50:33 +05:30
Pratik Naik
85770ec713
Make Model.find_or_create_by_* and find_or_initialize_by_* use relations and remove method caching
2009-12-27 14:46:38 +05:30
Pratik Naik
d511de0261
Add find_or_create_by_* and find_or_initialize_by_* to relations
2009-12-27 14:28:19 +05:30
Pratik Naik
8829d6ecc6
Make Model.find_by_* and Model.find_all_by_* use relations and remove dynamic method caching
2009-12-27 13:17:29 +05:30
Pratik Naik
f6f416c58e
Add find_by_* and find_all_by_* finders to ActiveRecord::Relation
2009-12-27 03:25:29 +05:30
José Valim
75ba102a80
Remove ActionView inline logging to ActiveSupport::Notifications and create ActionController::Base#log_event, so everything can be logged within one listener. Also expose log_process_action as a hook for different modules to include their own information during the action processing. This allow ActiveRecord to hook and any other ORM. Finally, this commit changes 'Processing' and 'Rendering' in logs to 'Processed' and 'Rendered' because at the point it's logged, everying already happened.
2009-12-26 20:28:53 +01:00
Pratik Naik
83f24afd44
Add new finder methods to association collection.
2009-12-27 00:25:00 +05:30
Pratik Naik
f374150698
Ensure Model.scoped adds type conditions for STI models
2009-12-27 00:11:31 +05:30
Pratik Naik
c6258ee313
Ensure all the finder methods respect scoping
2009-12-26 19:15:05 +05:30
Pratik Naik
9a9f97af28
Add relation.reload to force reloading the records
2009-12-26 15:31:50 +05:30
Pratik Naik
3c5a7dcaf5
Cache the loaded relations
2009-12-26 15:07:00 +05:30
Pratik Naik
9d3d60c64a
Ensure preload and eager_load finder methods accept multiple arguments
2009-12-26 14:40:45 +05:30
Pratik Naik
284d186cf4
Make sure the relations are always immutable
2009-12-26 14:26:02 +05:30
Pratik Naik
187fbe5cba
Add support for multiple arguments to .where finder
2009-12-26 12:57:34 +05:30
Pratik Naik
feb8b20eb5
Add Relation#all as an alias for to_a
2009-12-26 12:39:44 +05:30
Pratik Naik
a73fa9356f
Stop supporting blank arguments to AR#relation query methods
2009-12-26 04:07:50 +05:30
Pratik Naik
95274b28d9
Rename Model.conditions and relation.conditions to .where
2009-12-26 03:50:57 +05:30
Pratik Naik
a7fd564ab1
Add Model.select/group/order/limit/joins/conditions/preload/eager_load class methods returning a lazy relation.
...
Examples :
posts = Post.select('id).order('name') # Returns a lazy relation
posts.each {|p| puts p.id } # Fires "select id from posts order by name"
2009-12-26 03:06:51 +05:30
Pratik Naik
2e79ec71a5
Model.scoped now returns a relation if invoked without any arguments
...
Example :
posts = Post.scoped
posts.size # Fires "select count(*) from posts" and returns the count
posts.each {|p| puts p.name } # Fires "select * from posts" and loads post objects
2009-12-26 01:33:20 +05:30
Carlhuda
d2bd71a145
Finish moving config.frameworks-dependent code to the framework plugin
2009-12-23 17:23:29 -08:00
Carlhuda
38aeb1528c
Moving out some framework specific initializers into the framework libraries.
2009-12-23 16:13:09 -08:00
Joshua Peek
ace20bd25e
Flip deferrable autoload convention
2009-12-22 17:27:37 -06:00
Joshua Peek
7ee5843c3c
Fully expand relative rails framework paths and make sure we aren't
...
adding any to the load path more than once.
2009-12-16 11:56:51 -06:00
Will
bf6af5f719
When passing force_reload = true to an association, don't use the query cache [ #1827 state:resolved]
...
Signed-off-by: Joshua Peek <josh@joshpeek.com >
2009-12-16 10:49:53 -06:00