Module: Groupify::ActiveRecord::NamedGroupMember
- Extended by:
- ActiveSupport::Concern
- Defined in:
- lib/groupify/adapter/active_record.rb
Overview
Usage:
class User < ActiveRecord::Base
acts_as_named_group_member
...
end
user.named_groups << :admin
Defined Under Namespace
Modules: ClassMethods
Instance Method Summary collapse
- #in_all_named_groups?(*groups) ⇒ Boolean
- #in_any_named_group?(*groups) ⇒ Boolean
- #in_named_group?(group) ⇒ Boolean
- #named_groups ⇒ Object
- #named_groups=(named_groups) ⇒ Object
- #shares_any_named_group?(other) ⇒ Boolean
Instance Method Details
#in_all_named_groups?(*groups) ⇒ Boolean
281 282 283 |
# File 'lib/groupify/adapter/active_record.rb', line 281 def in_all_named_groups?(*groups) Set.new(groups.flatten) == Set.new(self.named_groups) end |
#in_any_named_group?(*groups) ⇒ Boolean
274 275 276 277 278 279 |
# File 'lib/groupify/adapter/active_record.rb', line 274 def in_any_named_group?(*groups) groups.flatten.each do |group| return true if in_named_group?(group) end return false end |
#in_named_group?(group) ⇒ Boolean
270 271 272 |
# File 'lib/groupify/adapter/active_record.rb', line 270 def in_named_group?(group) named_groups.include?(group) end |
#named_groups ⇒ Object
260 261 262 |
# File 'lib/groupify/adapter/active_record.rb', line 260 def named_groups @named_groups ||= NamedGroupCollection.new(self) end |
#named_groups=(named_groups) ⇒ Object
264 265 266 267 268 |
# File 'lib/groupify/adapter/active_record.rb', line 264 def named_groups=(named_groups) named_groups.each do |named_group| self.named_groups << named_group end end |
#shares_any_named_group?(other) ⇒ Boolean
285 286 287 |
# File 'lib/groupify/adapter/active_record.rb', line 285 def shares_any_named_group?(other) in_any_named_group?(other.named_groups.to_a) end |