rack-cache-tags 0.0.2 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
@@ -12,12 +12,17 @@ module Rack
12
12
  def store(url, tags)
13
13
  tags.each { |tag| Tagging.find_or_create_by_url_and_tag(url, tag) }
14
14
  end
15
-
15
+
16
16
  def purge(tags)
17
- tags = Tagging.where(:tag => tags)
18
- urls = tags.map(&:url)
19
- Tagging.where(:url => urls).delete_all
20
- urls
17
+ urls_by_tags(tags).tap { |urls| Tagging.where(:url => urls).delete_all }
18
+ end
19
+
20
+ def urls_by_tags(tags)
21
+ taggings_by_tags(tags).map(&:url)
22
+ end
23
+
24
+ def taggings_by_tags(tags)
25
+ Tagging.where((['tag LIKE ?'] * tags.size).join(' OR '), *tags.map { |tag| "#{tag}%" })
21
26
  end
22
27
  end
23
28
  end
@@ -1,3 +1,3 @@
1
1
  module RackCacheTags
2
- VERSION = "0.0.2"
2
+ VERSION = "0.0.3"
3
3
  end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rack-cache-tags
3
3
  version: !ruby/object:Gem::Version
4
- hash: 27
4
+ hash: 25
5
5
  prerelease: false
6
6
  segments:
7
7
  - 0
8
8
  - 0
9
- - 2
10
- version: 0.0.2
9
+ - 3
10
+ version: 0.0.3
11
11
  platform: ruby
12
12
  authors:
13
13
  - Sven Fuchs