acts-as-joinable 0.1.7.5 → 0.1.7.6
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.
- data/Rakefile +1 -1
- data/lib/acts_as_joinable/core.rb +5 -2
- metadata +4 -4
data/Rakefile
CHANGED
@@ -5,7 +5,7 @@ require 'rake/gempackagetask'
|
|
5
5
|
spec = Gem::Specification.new do |s|
|
6
6
|
s.name = "acts-as-joinable"
|
7
7
|
s.authors = ["Lance Pollard"]
|
8
|
-
s.version = "0.1.7.
|
8
|
+
s.version = "0.1.7.6"
|
9
9
|
s.summary = "ActsAsJoinable: DRYing up Many-to-Many Relationships in ActiveRecord"
|
10
10
|
s.homepage = "http://github.com/viatropos/acts-as-joinable"
|
11
11
|
s.email = "lancejpollard@gmail.com"
|
@@ -325,7 +325,10 @@ module ActsAsJoinable
|
|
325
325
|
|
326
326
|
module InstanceMethods
|
327
327
|
def destroy_relationships
|
328
|
-
conditions = %Q|(`relationships`.parent_type IN ("#{self.class.name}","#{self.class.base_class.name}") AND `relationships`.parent_id = #{self.id}) OR (`relationships`.child_type IN ("#{self.class.name}","#{self.class.base_class.name}") AND `relationships`.child_id = #{self.id})|
|
328
|
+
#conditions = %Q|(`relationships`.parent_type IN ("#{self.class.name}","#{self.class.base_class.name}") AND `relationships`.parent_id = #{self.id}) OR (`relationships`.child_type IN ("#{self.class.name}","#{self.class.base_class.name}") AND `relationships`.child_id = #{self.id})|
|
329
|
+
classes = [self.class.name, self.class.base_class.name].compact.uniq.map {|i| %Q|"#{i}"|}.join(",")
|
330
|
+
relationship_table_name = ActsAsJoinable::Relationship.quoted_table_name
|
331
|
+
conditions = %Q|(#{relationship_table_name}.parent_type IN (#{classes}) AND #{relationship_table_name}.parent_id = #{self.id}) OR (#{relationship_table_name}.child_type IN (#{classes}) AND #{relationship_table_name}.child_id = #{self.id})|
|
329
332
|
ActsAsJoinable::Relationship.delete_all(conditions)
|
330
333
|
end
|
331
334
|
|
@@ -335,7 +338,7 @@ module ActsAsJoinable
|
|
335
338
|
return false if conditions[:context] && !Array(conditions[:context]).include?(relationship.context)
|
336
339
|
true
|
337
340
|
end
|
338
|
-
|
341
|
+
|
339
342
|
def parent_relationships_for(conditions = {})
|
340
343
|
parent_relationships.select do |relationship|
|
341
344
|
relationship_matches?(relationship, conditions)
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: acts-as-joinable
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 87
|
5
5
|
prerelease: false
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 1
|
9
9
|
- 7
|
10
|
-
-
|
11
|
-
version: 0.1.7.
|
10
|
+
- 6
|
11
|
+
version: 0.1.7.6
|
12
12
|
platform: ruby
|
13
13
|
authors:
|
14
14
|
- Lance Pollard
|
@@ -16,7 +16,7 @@ autorequire:
|
|
16
16
|
bindir: bin
|
17
17
|
cert_chain: []
|
18
18
|
|
19
|
-
date: 2010-10-
|
19
|
+
date: 2010-10-20 00:00:00 -05:00
|
20
20
|
default_executable:
|
21
21
|
dependencies: []
|
22
22
|
|