adva-cache 0.0.9 → 0.0.14

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.
@@ -0,0 +1,12 @@
1
+ class AdvaCacheCreateTables < ActiveRecord::Migration
2
+ def self.up
3
+ create_table :cache_taggings, :force => true do |t|
4
+ t.string :url
5
+ t.string :tag
6
+ end
7
+ end
8
+
9
+ def self.down
10
+ drop_table :cache_taggings
11
+ end
12
+ end
data/lib/adva/cache.rb CHANGED
@@ -11,7 +11,7 @@ module Adva
11
11
  include Adva::Engine
12
12
 
13
13
  # TODO [config] add config vars to specify rack-cache storage uris
14
- config.app_middleware.insert_after 'Rails::Rack::Logger', ::Rack::Cache
14
+ config.app_middleware.insert_after 'Rails::Rack::Logger', ::Rack::Cache, :verbose => false
15
15
  config.app_middleware.insert_after 'Rack::Cache', ::Rack::Cache::Purge
16
16
  config.app_middleware.insert_after 'Rack::Cache::Purge', ::Rack::Cache::Tags
17
17
  end
@@ -1,3 +1,3 @@
1
1
  module AdvaCache
2
- VERSION = "0.0.9"
2
+ VERSION = "0.0.14"
3
3
  end
@@ -21,34 +21,48 @@ Then /^the following urls should be tagged:$/ do |table|
21
21
  end
22
22
  end
23
23
 
24
- Webrat::Session.class_eval do
24
+ Capybara::Driver::RackTest.class_eval do
25
25
  cattr_accessor :follow_redirects
26
26
  self.follow_redirects = true
27
27
 
28
- def internal_redirect_with_skipping?
29
- follow_redirects && internal_redirect_without_skipping?
28
+ def follow_redirects_with_skipping!
29
+ follow_redirects && follow_redirects_without_skipping!
30
+ end
31
+ alias_method_chain :follow_redirects!, :skipping
32
+ end
33
+
34
+ Capybara::Session.module_eval do
35
+ def follow_redirects=(yes_or_no)
36
+ if driver_supports_redirect_skipping?
37
+ driver.follow_redirects = yes_or_no
38
+ else
39
+ raise "driver #{driver} does not support skipping redirects"
40
+ end
41
+ end
42
+
43
+ def driver_supports_redirect_skipping?
44
+ driver.respond_to?(:follow_redirects=)
30
45
  end
31
- alias_method_chain :internal_redirect?, :skipping
32
46
  end
33
47
 
34
48
  Before do
35
- Webrat::Session.follow_redirects = true
49
+ page.follow_redirects = true if page.driver_supports_redirect_skipping?
36
50
  end
37
51
 
38
52
  When /I don't follow any http redirects/ do
39
- Webrat::Session.follow_redirects = false
53
+ page.follow_redirects = false
40
54
  end
41
55
 
42
56
  Then /^it should purge cache entries tagged: (.+)$/ do |tags|
43
57
  expected = tags.split(',').map(&:strip)
44
- actual = response.headers[Rack::Cache::Tags::PURGE_TAGS_HEADER]
58
+ actual = page.response_headers[Rack::Cache::Tags::PURGE_TAGS_HEADER]
45
59
  assert actual, 'no purge tags headers found'
46
60
  assert_equal expected.sort, actual.split("\n").sort
47
61
  end
48
62
 
49
63
  Then /^it should purge the cache entries: (.+)$/ do |urls|
50
64
  expected = urls.split(',').map(&:strip).sort
51
- actual = response.headers[Rack::Cache::Purge::PURGE_HEADER]
65
+ actual = page.response_headers[Rack::Cache::Purge::PURGE_HEADER]
52
66
  assert actual, 'no purge headers found'
53
67
  actual = actual.split("\n").map { |url| url.sub('http://www.example.com', '') }.sort
54
68
  assert_equal expected, actual, "did not purge the expected urls.\n expected: #{expected.inspect}\n actual: #{actual.inspect}"
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: adva-cache
3
3
  version: !ruby/object:Gem::Version
4
- hash: 13
4
+ hash: 3
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
8
  - 0
9
- - 9
10
- version: 0.0.9
9
+ - 14
10
+ version: 0.0.14
11
11
  platform: ruby
12
12
  authors:
13
13
  - Sven Fuchs
@@ -15,8 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2011-02-28 00:00:00 +01:00
19
- default_executable:
18
+ date: 2012-02-27 00:00:00 Z
20
19
  dependencies:
21
20
  - !ruby/object:Gem::Dependency
22
21
  name: adva-core
@@ -72,15 +71,15 @@ dependencies:
72
71
  requirements:
73
72
  - - "="
74
73
  - !ruby/object:Gem::Version
75
- hash: 23
74
+ hash: 21
76
75
  segments:
77
76
  - 0
78
77
  - 0
79
- - 4
80
- version: 0.0.4
78
+ - 5
79
+ version: 0.0.5
81
80
  type: :runtime
82
81
  version_requirements: *id004
83
- description: Cache engine for adva-cms2
82
+ description: Cache engine for adva-cms2.
84
83
  email: nobody@adva-cms.org
85
84
  executables: []
86
85
 
@@ -89,13 +88,13 @@ extensions: []
89
88
  extra_rdoc_files: []
90
89
 
91
90
  files:
92
- - lib/adva-cache.rb
91
+ - db/migrate/20100904224918_adva_cache_create_tables.rb
93
92
  - lib/adva/cache/responder/purge.rb
94
93
  - lib/adva/cache/responder.rb
95
94
  - lib/adva/cache.rb
95
+ - lib/adva-cache.rb
96
96
  - lib/adva_cache/version.rb
97
97
  - lib/testing/step_definitions.rb
98
- has_rdoc: true
99
98
  homepage: http://github.com/svenfuchs/adva-cms2
100
99
  licenses: []
101
100
 
@@ -125,7 +124,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
125
124
  requirements: []
126
125
 
127
126
  rubyforge_project: "[none]"
128
- rubygems_version: 1.4.2
127
+ rubygems_version: 1.8.10
129
128
  signing_key:
130
129
  specification_version: 3
131
130
  summary: Cache engine for adva-cms2