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

Instance Method Details

#in_all_named_groups?(*groups) ⇒ Boolean

Returns:

  • (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

Returns:

  • (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

Returns:

  • (Boolean)


270
271
272
# File 'lib/groupify/adapter/active_record.rb', line 270

def in_named_group?(group)
  named_groups.include?(group)
end

#named_groupsObject



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

Returns:

  • (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