groupify 0.4.1 → 0.4.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: e7b7c7f97d77395333908085e3b504e15843e424
4
- data.tar.gz: 00a1fb1886befa20733c4d865b65c703b32ac07f
3
+ metadata.gz: f67a4e4fc525ccf5ec5d481bad9faef6a49e9c0e
4
+ data.tar.gz: 452badaf83a0fd0e5e1eecd39d7e3341c00ad8e5
5
5
  SHA512:
6
- metadata.gz: 0988461c27e6435567264573018076144fbdbea11d4da51c8c16fa9678fcbd9229178f76d373c896c438c96ad70e095be6a79f4f3fa8647fef258c7d02facc61
7
- data.tar.gz: e9914e15f36f4cb9514ce9676d82e4bed74ae9892d30367844dc4cd9cf9bcc5d691d14ee8389166becb369b682283bb758c32ca2cada071c9c68ac428dd82569
6
+ metadata.gz: fc58d2e804fd86761855d4a85154f7cfeddc714be60c009484e6f3ca316ee3980ca1b8fe244bb15f27e2b21dfcfb916e6aa60cc0e829cdc3d90500b04c5c8778
7
+ data.tar.gz: 857bbc22e823eed129a2b281e611b1f1903424af03c62e2cdea36e9e063ac9b323563bf3541148978a5af147fcaeb68d6967aa247c0a40771a656075ec4928b3
@@ -59,7 +59,7 @@ module Groupify
59
59
  included do
60
60
  @default_member_class = nil
61
61
  @member_klasses ||= Set.new
62
- has_many :group_memberships
62
+ has_many :group_memberships, :dependent => :destroy
63
63
  end
64
64
 
65
65
  def members
@@ -173,7 +173,7 @@ module Groupify
173
173
  extend ActiveSupport::Concern
174
174
 
175
175
  included do
176
- has_many :group_memberships, :as => :member, :autosave => true
176
+ has_many :group_memberships, :as => :member, :autosave => true, :dependent => :destroy
177
177
  has_many :groups, :through => :group_memberships, :class_name => @group_class_name
178
178
  end
179
179
 
@@ -1,3 +1,3 @@
1
1
  module Groupify
2
- VERSION = "0.4.1"
2
+ VERSION = "0.4.2"
3
3
  end
@@ -132,6 +132,25 @@ describe Groupify::ActiveRecord do
132
132
  Group.with_member(user).first.should == group
133
133
  end
134
134
 
135
+ it "removes the membership relation when a member is destroyed" do
136
+ group.add user
137
+ user.destroy
138
+ group.should_not be_destroyed
139
+ group.users.should_not include(user)
140
+ end
141
+
142
+ it "removes the membership relations when a group is destroyed" do
143
+ group.add user
144
+ group.add widget
145
+ group.destroy
146
+
147
+ user.should_not be_destroyed
148
+ user.reload.groups.should be_empty
149
+
150
+ widget.should_not be_destroyed
151
+ widget.reload.groups.should be_empty
152
+ end
153
+
135
154
  context 'when merging' do
136
155
  let(:task) { Task.create! }
137
156
  let(:manager) { Manager.create! }
@@ -77,6 +77,8 @@ end
77
77
  describe Groupify::Mongoid do
78
78
  let!(:user) { MongoidUser.create! }
79
79
  let!(:group) { MongoidGroup.create! }
80
+ let(:task) { MongoidTask.create! }
81
+ let(:issue) { MongoidIssue.create! }
80
82
 
81
83
  it "adds a group to a member" do
82
84
  user.groups << group
@@ -110,10 +112,26 @@ describe Groupify::Mongoid do
110
112
  MongoidGroup.with_member(user).first.should == group
111
113
  end
112
114
 
113
- context 'when merging' do
114
- let(:task) { MongoidTask.create! }
115
- let(:issue) { MongoidIssue.create! }
115
+ it "removes the membership relation when a member is destroyed" do
116
+ group.add user
117
+ user.destroy
118
+ group.should_not be_destroyed
119
+ group.users.should_not include(user)
120
+ end
121
+
122
+ it "removes the membership relations when a group is destroyed" do
123
+ group.add user
124
+ group.add task
125
+ group.destroy
116
126
 
127
+ user.should_not be_destroyed
128
+ user.reload.groups.should be_empty
129
+
130
+ task.should_not be_destroyed
131
+ task.reload.groups.should be_empty
132
+ end
133
+
134
+ context 'when merging' do
117
135
  it "moves the members from source to destination and destroys the source" do
118
136
  source = MongoidGroup.create!
119
137
  destination = MongoidProject.create!
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: groupify
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.1
4
+ version: 0.4.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - dwbutler