acts-as-joinable 0.1.7.5 → 0.1.7.6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. data/Rakefile +1 -1
  2. data/lib/acts_as_joinable/core.rb +5 -2
  3. 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.5"
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: 81
4
+ hash: 87
5
5
  prerelease: false
6
6
  segments:
7
7
  - 0
8
8
  - 1
9
9
  - 7
10
- - 5
11
- version: 0.1.7.5
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-17 00:00:00 -05:00
19
+ date: 2010-10-20 00:00:00 -05:00
20
20
  default_executable:
21
21
  dependencies: []
22
22