acts_as_sourceable 2.2.5 → 2.3.0

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: b39a604c011e7ad62a4d071d63093c283aed6ab1
4
- data.tar.gz: 43a9703b587064fc173ef5024343797270fe81db
3
+ metadata.gz: 6aff3b12654475296bed41fc3b462114f55c357a
4
+ data.tar.gz: 93e74bb093c6059aa3d816f065b1780ff2920390
5
5
  SHA512:
6
- metadata.gz: c5e7688ce6b8a3adaee332625f49f10cbdce63a1a25722b4545480b9859f7e2e337a5cf24b3b2d166a73b8c131d23c95be277fdf95084d64cee18912d487a5ef
7
- data.tar.gz: a3b5be49c223e0f105c6af9fa09ff8c60e717c491622b7d1f32d6e00d68d05d79eedb8070497add11c9086a0b18a7621883c77bea6ad2dd009cd4cfe6b5cd0a5
6
+ metadata.gz: 1328c811e66a7767461088ad69a0c252ea03d9789a4a00cc0f2c10596acd75325a9111e4bb415f57c5f68a4da96a3b8d60edc223429fabb0763c7a0b77bb2af2
7
+ data.tar.gz: 97cfe2da91e9fe0d624efadcfabe1dcbf4cd448c7db30acdc95726794d8d8465b62f7e9fc171403c0489e6997d5292eb32d9f446dc246d1cd2e90e7b5c99dd1e
@@ -112,7 +112,9 @@ module ActsAsSourceable
112
112
 
113
113
  sources = Array(sources).flatten
114
114
  sources.each do |source|
115
- source_scope(source).first_or_create!
115
+ entry = source_registry_entries(source).first_or_initialize
116
+ # touch existing RegistryEntry to keep track of "freshness" of the sourcing
117
+ entry.persisted? ? entry.touch : entry.save!
116
118
  end
117
119
  update_sourceable_cache_column(true) if sources.present?
118
120
  end
@@ -124,7 +126,7 @@ module ActsAsSourceable
124
126
 
125
127
  sources = Array(sources).flatten
126
128
  sources.each do |source|
127
- source_scope(source).delete_all
129
+ source_registry_entries(source).delete_all
128
130
  end
129
131
  update_sourceable_cache_column(false) if self.sourceable_registry_entries.empty?
130
132
  end
@@ -132,8 +134,8 @@ module ActsAsSourceable
132
134
 
133
135
  private
134
136
 
135
- def source_scope(source)
136
- ActsAsSourceable::RegistryEntry.where(:sourceable_type => self.class.name, :sourceable_id => self.id, :source_type => source.class, :source_id => source.id)
137
+ def source_registry_entries(source)
138
+ sourceable_registry_entries.where(:source_type => source.class, :source_id => source.id)
137
139
  end
138
140
 
139
141
  def update_sourceable_cache_column(value = nil)
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: acts_as_sourceable
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.2.5
4
+ version: 2.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nicholas Jakobsen
@@ -55,7 +55,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
55
55
  version: '0'
56
56
  requirements: []
57
57
  rubyforge_project:
58
- rubygems_version: 2.2.2
58
+ rubygems_version: 2.4.6
59
59
  signing_key:
60
60
  specification_version: 4
61
61
  summary: perform garbage collection on categories that are no longer referenced