[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