Module: Groupify::Mongoid::GroupMember::ClassMethods

Defined in:
lib/groupify/adapter/mongoid/group_member.rb

Instance Method Summary collapse

Instance Method Details

#group_class_nameObject



106
# File 'lib/groupify/adapter/mongoid/group_member.rb', line 106

def group_class_name; @group_class_name ||= 'Group'; end

#group_class_name=(klass) ⇒ Object



107
# File 'lib/groupify/adapter/mongoid/group_member.rb', line 107

def group_class_name=(klass);  @group_class_name = klass; end

#in_all_groups(*groups) ⇒ Object



117
118
119
# File 'lib/groupify/adapter/mongoid/group_member.rb', line 117

def in_all_groups(*groups)
  groups.present? ? where(:group_ids.all => groups.flatten.map(&:id)) : none
end

#in_any_group(*groups) ⇒ Object



113
114
115
# File 'lib/groupify/adapter/mongoid/group_member.rb', line 113

def in_any_group(*groups)
  groups.present? ? self.in(group_ids: groups.flatten.map(&:id)) : none
end

#in_group(group) ⇒ Object



109
110
111
# File 'lib/groupify/adapter/mongoid/group_member.rb', line 109

def in_group(group)
  group.present? ? self.in(group_ids: group.id) : none
end

#in_only_groups(*groups) ⇒ Object



121
122
123
# File 'lib/groupify/adapter/mongoid/group_member.rb', line 121

def in_only_groups(*groups)
  groups.present? ? where(:group_ids => groups.flatten.map(&:id)) : none
end

#shares_any_group(other) ⇒ Object



125
126
127
# File 'lib/groupify/adapter/mongoid/group_member.rb', line 125

def shares_any_group(other)
  in_any_group(other.groups.to_a)
end