[Git][noosfero/noosfero][rails4] 2 commits: Add memberships association for eager loading
Bráulio Bhavamitra
gitlab at gitlab.com
Thu Oct 22 20:02:05 BRST 2015
Bráulio Bhavamitra pushed to branch rails4 at Noosfero / noosfero
Commits:
d4733489 by Braulio Bhavamitra at 2015-10-09T08:46:24Z
Add memberships association for eager loading
- - - - -
e8fa0f50 by Braulio Bhavamitra at 2015-10-10T19:47:47Z
rails4: Remove activecord primary_key monkey patch
- - - - -
2 changed files:
- app/models/person.rb
- lib/noosfero/core_ext/active_record.rb
Changes:
=====================================
app/models/person.rb
=====================================
--- a/app/models/person.rb
+++ b/app/models/person.rb
@@ -67,6 +67,9 @@ class Person < Profile
end
alias_method_chain :has_permission?, :plugins
+ # for eager loading
+ has_many :memberships, through: :role_assignments, source: :resource, source_type: 'Profile'
+
def memberships
scopes = []
plugins_scopes = plugins.dispatch_scopes(:person_memberships, self)
=====================================
lib/noosfero/core_ext/active_record.rb
=====================================
--- a/lib/noosfero/core_ext/active_record.rb
+++ b/lib/noosfero/core_ext/active_record.rb
@@ -2,11 +2,6 @@ require 'active_record'
class ActiveRecord::Base
- # default primary key
- def self.primary_key
- @primary_key = 'id' if self.column_names.include? 'id'
- end
-
def self.postgresql?
ActiveRecord::Base.connection.adapter_name == 'PostgreSQL'
end
@@ -68,7 +63,7 @@ class ActiveRecord::Base
end
ActiveRecord::Calculations.class_eval do
- def count_with_distinct column_name=:id, options={}
+ def count_with_distinct column_name=nil, options={}
distinct.count_without_distinct column_name, options
end
alias_method_chain :count, :distinct
View it on GitLab: https://gitlab.com/noosfero/noosfero/compare/c9c81cfa67b812a4624765f22b28b6c1b88a2aa5...e8fa0f50ff73883febe377838a85a22c276e2777
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listas.softwarelivre.org/pipermail/noosfero-dev/attachments/20151022/e4c95663/attachment.html>
More information about the Noosfero-dev
mailing list