Module: Groupify::ActiveRecord::NamedGroupMember::ClassMethods
- Defined in:
- lib/groupify/adapter/active_record.rb
Instance Method Summary collapse
- #in_all_named_groups(*named_groups) ⇒ Object
- #in_any_named_group(*named_groups) ⇒ Object
- #in_named_group(named_group) ⇒ Object
- #shares_any_named_group(other) ⇒ Object
Instance Method Details
#in_all_named_groups(*named_groups) ⇒ Object
298 299 300 301 302 303 304 305 306 307 308 309 310 |
# File 'lib/groupify/adapter/active_record.rb', line 298 def in_all_named_groups(*named_groups) if named_groups.present? named_groups = named_groups.flatten.map(&:to_s) joins(:group_memberships). group(:"group_memberships.member_id"). where(:group_memberships => {:group_name => named_groups}). having("COUNT(group_memberships.group_name) = #{named_groups.count}"). uniq else none end end |
#in_any_named_group(*named_groups) ⇒ Object
294 295 296 |
# File 'lib/groupify/adapter/active_record.rb', line 294 def in_any_named_group(*named_groups) named_groups.present? ? joins(:group_memberships).where(:group_memberships => {:group_name => named_groups.flatten}).uniq : none end |
#in_named_group(named_group) ⇒ Object
290 291 292 |
# File 'lib/groupify/adapter/active_record.rb', line 290 def in_named_group(named_group) named_group.present? ? joins(:group_memberships).where(:group_memberships => {:group_name => named_group}).uniq : none end |
#shares_any_named_group(other) ⇒ Object
312 313 314 |
# File 'lib/groupify/adapter/active_record.rb', line 312 def shares_any_named_group(other) in_any_named_group(other.named_groups.to_a) end |