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
308 309 310 311 312 313 314 315 316 317 318 319 320 |
# File 'lib/groupify/adapter/active_record.rb', line 308 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
304 305 306 |
# File 'lib/groupify/adapter/active_record.rb', line 304 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
300 301 302 |
# File 'lib/groupify/adapter/active_record.rb', line 300 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
322 323 324 |
# File 'lib/groupify/adapter/active_record.rb', line 322 def shares_any_named_group(other) in_any_named_group(other.named_groups.to_a) end |