Skip to content

Instantly share code, notes, and snippets.

@watsonbox
Last active December 19, 2015 16:19
Show Gist options
  • Save watsonbox/5983098 to your computer and use it in GitHub Desktop.
Save watsonbox/5983098 to your computer and use it in GitHub Desktop.
# User class with #is_member_of? method
class User < ActiveRecord::Base
has_many :memberships
has_many :groups, :through => :memberships
def is_member_of?(group)
memberships.exists?(:membership_group_id => group.id)
end
end
# Test for #is_member_of? method
class UserSpec
let(:user) { User.create(:name => 'Howard') }
describe '#is_member_of?' do
let(:group) { Group.create(:name => 'Awesome People') }
context 'the user is a member' do
before { Membership.create(:user => subject, :group => group) }
specify { user.is_a_member_of?(group).should be_true }
end
context 'the user is not a member' do
specify { user.is_a_member_of?(group).should be_false }
end
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment