groupify 0.4.1 → 0.4.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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