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 +4 -4
- data/lib/groupify/adapter/active_record.rb +2 -2
- data/lib/groupify/version.rb +1 -1
- data/spec/groupify/active_record_spec.rb +19 -0
- data/spec/groupify/mongoid_spec.rb +21 -3
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f67a4e4fc525ccf5ec5d481bad9faef6a49e9c0e
|
4
|
+
data.tar.gz: 452badaf83a0fd0e5e1eecd39d7e3341c00ad8e5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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
|
|
data/lib/groupify/version.rb
CHANGED
@@ -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
|
-
|
114
|
-
|
115
|
-
|
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!
|