background_cache 0.1.3 → 0.1.4

Sign up to get free protection for your applications and to get access to all the features.
data/.gitignore ADDED
@@ -0,0 +1,7 @@
1
+ .DS_Store
2
+ *.gem
3
+ .bundle
4
+ Gemfile.lock
5
+ pkg
6
+ spec/fixtures/rails/log/*
7
+ tmp
data/Gemfile ADDED
@@ -0,0 +1,3 @@
1
+ source "http://rubygems.org"
2
+
3
+ gemspec
@@ -1,4 +1,4 @@
1
- Copyright (c) 2009 Winton Welsh
1
+ Copyright (c) 2010
2
2
 
3
3
  Permission is hereby granted, free of charge, to any person obtaining a copy of
4
4
  this software and associated documentation files (the "Software"), to deal in
@@ -61,4 +61,4 @@ Rake task
61
61
 
62
62
  Add <code>rake background_cache</code> to cron. All cache configurations are busted every time it is run.
63
63
 
64
- To run a specific group of caches, run <code>rake background\_cache[every\_hour]</code> (as per the example above).
64
+ To run a specific group of caches, run <code>rake background\_cache[every\_hour]</code> (as per the example above).
data/Rakefile CHANGED
@@ -1,23 +1 @@
1
- require "#{File.dirname(__FILE__)}/require"
2
- Require.rakefile!
3
-
4
- # You can delete this after you use it
5
- desc "Rename project"
6
- task :rename do
7
- name = ENV['NAME'] || File.basename(Dir.pwd)
8
- begin
9
- dir = Dir['**/gem_template*']
10
- from = dir.pop
11
- if from
12
- rb = from.include?('.rb')
13
- to = File.dirname(from) + "/#{name}#{'.rb' if rb}"
14
- FileUtils.mv(from, to)
15
- end
16
- end while dir.length > 0
17
- Dir["**/*"].each do |path|
18
- next if path.include?('Rakefile')
19
- if File.file?(path)
20
- `sed -i "" 's/gem_template/#{name}/g' #{path}`
21
- end
22
- end
23
- end
1
+ require 'bundler/gem_tasks'
@@ -0,0 +1,25 @@
1
+ # -*- encoding: utf-8 -*-
2
+ root = File.expand_path('../', __FILE__)
3
+ lib = "#{root}/lib"
4
+
5
+ $:.unshift lib unless $:.include?(lib)
6
+
7
+ Gem::Specification.new do |s|
8
+ s.name = "background_cache"
9
+ s.version = '0.1.4'
10
+ s.platform = Gem::Platform::RUBY
11
+ s.authors = [ "Winton Welsh" ]
12
+ s.email = [ "mail@wintoni.us" ]
13
+ s.homepage = "http://github.com/winton/background_cache"
14
+ s.summary = %q{Bust caches before your users do}
15
+ s.description = %q{Bust caches before your users do.}
16
+
17
+ s.executables = `cd #{root} && git ls-files bin/*`.split("\n").collect { |f| File.basename(f) }
18
+ s.files = `cd #{root} && git ls-files`.split("\n")
19
+ s.require_paths = %w(lib)
20
+ s.test_files = `cd #{root} && git ls-files -- {features,test,spec}/*`.split("\n")
21
+
22
+ s.add_development_dependency "rack-test", "= 0.5.3"
23
+ s.add_development_dependency "rails", "= 2.3.10"
24
+ s.add_development_dependency "rspec", "~> 1.0"
25
+ end
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require File.expand_path("../../lib/background_cache", __FILE__)
@@ -1,113 +1,117 @@
1
- require 'digest/sha2'
2
-
3
1
  module BackgroundCache
4
2
  class Config
3
+
5
4
  class <<self
6
- attr_accessor :manual
5
+ attr_accessor :current_cache, :group
7
6
  end
7
+
8
8
  def initialize(&block)
9
9
  @@caches = []
10
10
  self.instance_eval &block
11
11
  end
12
+
12
13
  def cache(options)
13
- # Method-style config
14
- @options ||= {}
15
- options = @options.merge(options)
16
- # Store the cache options
17
- @@caches.push({
18
- :except => options.delete(:except),
19
- :group => options.delete(:group),
20
- :layout => options.delete(:layout),
21
- :only => options.delete(:only),
22
- :path => options.delete(:path),
23
- :params => options
24
- })
14
+ @options ||= []
15
+ options = @options.inject({}) { |hash, option| hash.merge(option) }.merge(options)
16
+ @@caches << self.class.build_cache(options)
25
17
  end
18
+
26
19
  def except(value, &block)
27
- set_option(:except, value, &block)
20
+ set_option({ :except => value }, &block)
28
21
  end
22
+
29
23
  def group(value, &block)
30
- set_option(:group, value, &block)
24
+ if self.class.group.nil? || value == self.class.group
25
+ set_option({ :group => value }, &block)
26
+ end
31
27
  end
28
+
32
29
  def layout(value, &block)
33
- set_option(:layout, value, &block)
30
+ set_option({ :layout => value }, &block)
34
31
  end
32
+
35
33
  def only(value, &block)
36
- set_option(:only, value, &block)
34
+ set_option({ :only => value }, &block)
37
35
  end
38
- def set_option(key, value, &block)
39
- @options ||= {}
40
- @options[key] = value
36
+
37
+ def set_option(hash, &block)
38
+ @options ||= []
39
+ @options << hash
41
40
  if block
41
+ @last_option_index ||= []
42
+ @last_option_index << (@options.length - 1)
42
43
  yield
43
- @options = {}
44
+ @last_option_index.pop
45
+ if @last_option_index.empty?
46
+ @options = []
47
+ else
48
+ @options = @options[0..@last_option_index.last]
49
+ end
44
50
  end
45
51
  self
46
52
  end
47
- # Find cache config from params
48
- def self.from_controller(controller)
49
- from_controller_and_fragment(controller)
53
+
54
+ def self.build_cache(options)
55
+ {
56
+ :except => options.delete(:except),
57
+ :group => options.delete(:group),
58
+ :layout => options.delete(:layout),
59
+ :only => options.delete(:only),
60
+ :path => options.delete(:path),
61
+ :params => options
62
+ }
50
63
  end
51
- def self.from_controller_and_fragment(controller, fragment={})
52
- params = controller.params
53
- path = controller.request.env['REQUEST_URI']
54
- cache =
55
- if defined?(@@caches) && !@@caches.empty?
56
- @@caches.detect do |item|
57
- # Basic params match (action, controller, etc)
64
+
65
+ # Does controller and fragment match current cache?
66
+ def self.match?(fragment={})
67
+ cache = self.current_cache
68
+ cache &&
69
+ # Basic params match (action, controller, etc)
70
+ (
71
+ # No fragment specified
72
+ fragment.empty? ||
73
+ (
74
+ (
75
+ # :only not defined
76
+ !cache[:only] ||
77
+ # :only matches fragment
78
+ cache[:only] == fragment ||
58
79
  (
59
- (item[:path] && item[:path] == path) ||
60
- item[:params] == params.symbolize_keys
61
- ) &&
80
+ # :only is an array
81
+ cache[:only].respond_to?(:compact) &&
82
+ # :only includes matching fragment
83
+ cache[:only].include?(fragment)
84
+ )
85
+ ) &&
86
+ (
87
+ # :except not defined
88
+ !cache[:except] ||
89
+ # :except not explicitly named
90
+ cache[:except] != fragment ||
62
91
  (
63
- # No fragment specified
64
- fragment.empty? ||
65
- (
66
- (
67
- # :only not defined
68
- !item[:only] ||
69
- # :only matches fragment
70
- item[:only] == fragment ||
71
- (
72
- # :only is an array
73
- item[:only].respond_to?(:index) &&
74
- # :only includes matching fragment
75
- item[:only].include?(fragment)
76
- )
77
- ) &&
78
- (
79
- # :except not defined
80
- !item[:except] ||
81
- # :except not explicitly named
82
- item[:except] != fragment ||
83
- (
84
- # :except is an array
85
- item[:except].respond_to?(:index) &&
86
- # :except does not include matching fragment
87
- !item[:except].include?(fragment)
88
- )
89
- )
90
- )
92
+ # :except is an array
93
+ cache[:except].respond_to?(:compact) &&
94
+ # :except does not include matching fragment
95
+ !cache[:except].include?(fragment)
91
96
  )
92
- end
93
- end
94
- if !cache && self.manual
95
- cache = { :path => path, :layout => false }
96
- end
97
- cache
97
+ )
98
+ )
99
+ )
98
100
  end
101
+
99
102
  def self.caches
100
103
  defined?(@@caches) ? @@caches : []
101
104
  end
102
- def self.key
103
- Digest::SHA256.hexdigest("--#{Time.now}--#{rand}--")
104
- end
105
- def self.load!
105
+
106
+ def self.load!(group=nil)
107
+ self.group = group
106
108
  load RAILS_ROOT + "/lib/background_cache_config.rb"
109
+ self.group = nil
107
110
  end
111
+
108
112
  def self.unload!
109
113
  @@caches = []
110
- self.manual = nil
114
+ self.current_cache = nil
111
115
  end
112
116
  end
113
117
  end
@@ -1,15 +1,16 @@
1
1
  module BackgroundCache
2
2
  module Controller
3
+
3
4
  def self.included(base)
4
5
  base.alias_method_chain :read_fragment, :background_cache
6
+ base.alias_method_chain :render, :background_cache
5
7
  base.around_filter BackgroundCacheFilter.new
6
8
  end
7
9
 
8
10
  private
9
11
 
10
12
  def read_fragment_with_background_cache(key, options=nil)
11
- cache = BackgroundCache::Config.from_controller_and_fragment(self, key)
12
- if cache
13
+ if BackgroundCache.active? && BackgroundCache.match?(key)
13
14
  RAILS_DEFAULT_LOGGER.info "Cached fragment busted (read_fragment method): #{key}"
14
15
  nil
15
16
  else
@@ -17,20 +18,33 @@ module BackgroundCache
17
18
  end
18
19
  end
19
20
 
21
+ def render_with_background_cache(options = nil, extra_options = {}, &block)
22
+ if BackgroundCache.active? && BackgroundCache::Config.current_cache[:layout] == false
23
+ [ options, extra_options ].each do |opts|
24
+ if opts.respond_to?(:keys) && (opts[:layout] || opts['layout'])
25
+ opts[opts[:layout] ? :layout : 'layout'] = false
26
+ end
27
+ end
28
+ end
29
+ render_without_background_cache(options, extra_options, &block)
30
+ end
31
+
20
32
  class BackgroundCacheFilter
33
+
21
34
  def before(controller)
22
- unless BackgroundCache::Config.caches.empty?
23
- cache = BackgroundCache::Config.from_controller(controller)
24
- # Store current layout, then disable it
25
- if cache && cache[:layout] == false
35
+ cache = BackgroundCache::Config.current_cache
36
+ if cache
37
+ if cache[:layout] == false
26
38
  @background_cache_layout = controller.active_layout
27
39
  controller.class.layout(false)
40
+ else
41
+ @background_cache_layout = nil
28
42
  end
29
43
  end
30
44
  true
31
45
  end
46
+
32
47
  def after(controller)
33
- # Restore layout
34
48
  if @background_cache_layout
35
49
  controller.class.layout(@background_cache_layout)
36
50
  end
@@ -1,23 +1,30 @@
1
1
  module BackgroundCache
2
2
  module Helper
3
+
3
4
  def self.included(base)
4
5
  base.alias_method_chain :cache, :background_cache
5
6
  end
7
+
6
8
  def cache_with_background_cache(name = {}, options = nil, &block)
7
9
  # http://railsapi.com/doc/rails-v2.3.8/classes/ActionView/Helpers/CacheHelper.html
8
10
  # ActionController::Caching::Fragments#fragment_for (undocumented)
9
11
  # actionpack/lib/action_controller/caching/fragments.rb
10
12
  if @controller.perform_caching
11
- if cache = @controller.read_fragment(name, options)
12
- output_buffer.concat(cache)
13
- else
13
+ cache = @controller.read_fragment(name, options)
14
+ match = (
15
+ BackgroundCache.active? &&
16
+ BackgroundCache.match?(name)
17
+ )
18
+ if !cache || match
14
19
  pos = output_buffer.length
15
20
  block.call
16
21
  output = [
17
- "<!-- #{name.inspect} cached #{Time.now.strftime("%m/%d/%Y at %I:%M %p")} -->",
22
+ "<!-- #{name.inspect}#{' background' if match} cached #{Time.now.strftime("%m/%d/%Y at %I:%M %p")} -->",
18
23
  output_buffer[pos..-1]
19
24
  ].join("\n")
20
25
  @controller.write_fragment(name, output, options)
26
+ else
27
+ output_buffer.concat(cache)
21
28
  end
22
29
  else
23
30
  block.call
@@ -0,0 +1,20 @@
1
+ module BackgroundCache
2
+ module Memcache
3
+
4
+ def self.included(base)
5
+ base.alias_method_chain :get, :background_cache
6
+ end
7
+
8
+ def get_with_background_cache(key, raw=false)
9
+ match = (
10
+ BackgroundCache.active? &&
11
+ BackgroundCache.match?(key)
12
+ )
13
+ if match
14
+ nil
15
+ else
16
+ get_without_background_cache(key, raw)
17
+ end
18
+ end
19
+ end
20
+ end
@@ -1,5 +1,14 @@
1
- require File.expand_path("#{File.dirname(__FILE__)}/../require")
2
- Require.lib!
1
+ gem 'rack-test', '=0.5.3'
2
+
3
+ require 'digest/sha2'
4
+ require 'rack/test'
5
+
6
+ $:.unshift File.dirname(__FILE__)
7
+
8
+ require 'background_cache/config'
9
+ require 'background_cache/controller'
10
+ require 'background_cache/helper'
11
+ require 'background_cache/mem_cache'
3
12
 
4
13
  module BackgroundCache
5
14
 
@@ -11,34 +20,48 @@ module BackgroundCache
11
20
  end
12
21
  end
13
22
 
23
+ def self.active?
24
+ BackgroundCache::Config.current_cache
25
+ end
26
+
14
27
  def self.cache!(group=nil)
15
28
  instance = self.boot
29
+ BackgroundCache::Config.load!(group)
16
30
  caches = BackgroundCache::Config.caches
17
31
  caches.each do |cache|
18
32
  next if group && cache[:group] != group
19
- url = cache[:path] || instance.url_for(cache[:params].merge(:only_path => true))
20
- puts "(#{cache[:group]}) #{url}"
21
- instance.get(url)
33
+ self.manual(cache, instance)
22
34
  end
23
35
  end
24
-
25
- def self.manual(url)
26
- instance = self.boot
27
- BackgroundCache::Config.manual = true
28
- url = instance.url_for(url.merge(:only_path => true)) if url.respond_to?(:keys)
36
+
37
+ def self.manual(cache, instance=nil)
38
+ unless instance
39
+ instance = self.boot
40
+ end
41
+ BackgroundCache::Config.current_cache = cache
42
+ url = cache[:path] || instance.url_for(cache[:params].merge(:only_path => true))
43
+ puts "(#{cache[:group]}) #{url}"
29
44
  instance.get(url)
45
+ BackgroundCache::Config.current_cache = nil
30
46
  url
31
47
  end
32
48
 
49
+ def self.match?(fragment={})
50
+ BackgroundCache::Config.match?(fragment)
51
+ end
52
+
33
53
  private
34
-
54
+
35
55
  def self.boot
36
56
  instance = AppInstance.new
37
- BackgroundCache::Config.load!
38
57
  instance
39
58
  end
40
59
  end
41
60
 
42
- def BackgroundCache(url)
43
- BackgroundCache.manual(url)
61
+ def BackgroundCache(path, layout=false)
62
+ BackgroundCache.manual(
63
+ BackgroundCache::Config.build_cache(
64
+ path.respond_to?(:keys) ? path : { :path => path, :layout => layout }
65
+ )
66
+ )
44
67
  end
data/rails/init.rb CHANGED
@@ -1,5 +1,10 @@
1
- require File.expand_path("#{File.dirname(__FILE__)}/../require")
2
- Require.rails_init!
1
+ begin
2
+ require 'memcache'
3
+ rescue LoadError
4
+ end
5
+
6
+ require File.expand_path('../../lib/background_cache.rb', __FILE__)
3
7
 
4
8
  ActionController::Base.send(:include, BackgroundCache::Controller)
5
- ActionView::Helpers::CacheHelper.send(:include, BackgroundCache::Helper)
9
+ ActionView::Helpers::CacheHelper.send(:include, BackgroundCache::Helper)
10
+ ::MemCache.send(:include, BackgroundCache::Memcache) if defined?(::MemCache)
@@ -18,16 +18,12 @@ describe BackgroundCache do
18
18
  BackgroundCache::Config.should_receive(:load!)
19
19
  BackgroundCache.cache!
20
20
  end
21
-
22
- it "should call from_controller when cached request happens" do
23
- BackgroundCache.cache!
24
- BackgroundCache::Config.should_receive(:from_controller)
25
- get('/')
26
- end
27
21
 
28
22
  it "should alias read_fragment and return null when it is called on matching cache" do
29
23
  BackgroundCache.cache!
30
- get('/')
24
+ BackgroundCache::Config.current_cache = BackgroundCache::Config.caches.detect do |cache|
25
+ cache[:params][:action] == 'test_3'
26
+ end
31
27
  cache_write('test_3', 'bust me')
32
28
  get('/t3')
33
29
  last_response.body.should == 'nil'
@@ -74,12 +70,12 @@ describe BackgroundCache do
74
70
 
75
71
  it "should bust the cache (manual override)" do
76
72
  cache_write('test', 'bust me')
77
- BackgroundCache.manual('/b')
73
+ BackgroundCache('/b')
78
74
  cache_read('test').should == 'test'
79
75
  end
80
76
 
81
77
  it "should not render the layout" do
82
- BackgroundCache.manual('/b')
78
+ BackgroundCache('/b')
83
79
  cache_read('layout_test_1').should == nil
84
80
  end
85
81
  end
@@ -111,5 +107,21 @@ describe BackgroundCache do
111
107
  cache_read('layout_test_2').should == nil
112
108
  end
113
109
  end
110
+
111
+ describe :test_3 do
112
+
113
+ it "should be caching normally" do
114
+ get('/t3')
115
+ cache_read('layout_test_3').should == '1'
116
+ cache_write('layout_test_3', 'bust me')
117
+ get('/t3')
118
+ cache_read('layout_test_3').should == 'bust me'
119
+ end
120
+
121
+ it "should not render the layout" do
122
+ BackgroundCache.cache!
123
+ cache_read('layout_test_3').should == nil
124
+ end
125
+ end
114
126
  end
115
127
  end
@@ -9,6 +9,6 @@ class ApplicationController < ActionController::Base
9
9
  # filter_parameter_logging :password
10
10
 
11
11
  def test_3
12
- render :text => read_fragment('test_3').inspect, :layout => false
12
+ render :text => read_fragment('test_3').inspect, :layout => 'application'
13
13
  end
14
14
  end
@@ -1,7 +1,7 @@
1
1
  # Be sure to restart your server when you modify this file
2
2
 
3
3
  # Specifies gem version of Rails to use when vendor/rails is not present
4
- RAILS_GEM_VERSION = '2.3.5' unless defined? RAILS_GEM_VERSION
4
+ RAILS_GEM_VERSION = '2.3.10' unless defined? RAILS_GEM_VERSION
5
5
 
6
6
  # Bootstrap the Rails environment, frameworks, and default configuration
7
7
  require File.join(File.dirname(__FILE__), 'boot')
@@ -1,15 +1,15 @@
1
- BackgroundCache::Config.new do |config|
2
- config.cache(
3
- :path => '/'
4
- )
5
- config.layout(false).only('test_2') do
6
- config.cache(
1
+ BackgroundCache::Config.new do
2
+ cache(:path => '/')
3
+ layout(false) do
4
+ only('test_2') do
5
+ cache(
6
+ :controller => 'application',
7
+ :action => 'test_2'
8
+ )
9
+ end
10
+ cache(
7
11
  :controller => 'application',
8
- :action => 'test_2'
12
+ :action => 'test_3'
9
13
  )
10
14
  end
11
- config.cache(
12
- :controller => 'application',
13
- :action => 'test_3'
14
- )
15
15
  end
data/spec/spec_helper.rb CHANGED
@@ -1,12 +1,14 @@
1
- RAILS_ENV = 'production'
1
+ require "pp"
2
+ require "bundler"
2
3
 
3
- require File.expand_path("#{File.dirname(__FILE__)}/../require")
4
- Require.spec_helper!
4
+ Bundler.require(:development)
5
5
 
6
- Spec::Runner.configure do |config|
7
- end
6
+ COMMENT_REGEX = /<!-- .+ cached .+ -->\n/
7
+ RAILS_ENV = 'production'
8
+
9
+ require 'spec/fixtures/rails/config/environment'
8
10
 
9
- COMMENT_REGEX = /<!-- ".+" cached .+ -->\n/
11
+ $root = File.expand_path('../../', __FILE__)
10
12
 
11
13
  def cache_read(key)
12
14
  value = ::ActionController::Base.cache_store.read('views/' + key)
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: background_cache
3
3
  version: !ruby/object:Gem::Version
4
- hash: 29
5
- prerelease: false
4
+ hash: 19
5
+ prerelease:
6
6
  segments:
7
7
  - 0
8
8
  - 1
9
- - 3
10
- version: 0.1.3
9
+ - 4
10
+ version: 0.1.4
11
11
  platform: ruby
12
12
  authors:
13
13
  - Winton Welsh
@@ -15,8 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2010-09-15 00:00:00 -07:00
19
- default_executable:
18
+ date: 2011-10-20 00:00:00 Z
20
19
  dependencies:
21
20
  - !ruby/object:Gem::Dependency
22
21
  name: rack-test
@@ -32,43 +31,63 @@ dependencies:
32
31
  - 5
33
32
  - 3
34
33
  version: 0.5.3
35
- type: :runtime
34
+ type: :development
36
35
  version_requirements: *id001
37
36
  - !ruby/object:Gem::Dependency
38
- name: require
37
+ name: rails
39
38
  prerelease: false
40
39
  requirement: &id002 !ruby/object:Gem::Requirement
41
40
  none: false
42
41
  requirements:
43
42
  - - "="
44
43
  - !ruby/object:Gem::Version
45
- hash: 25
44
+ hash: 23
46
45
  segments:
47
- - 0
48
46
  - 2
49
- - 7
50
- version: 0.2.7
51
- type: :runtime
47
+ - 3
48
+ - 10
49
+ version: 2.3.10
50
+ type: :development
52
51
  version_requirements: *id002
53
- description:
54
- email: mail@wintoni.us
55
- executables: []
56
-
52
+ - !ruby/object:Gem::Dependency
53
+ name: rspec
54
+ prerelease: false
55
+ requirement: &id003 !ruby/object:Gem::Requirement
56
+ none: false
57
+ requirements:
58
+ - - ~>
59
+ - !ruby/object:Gem::Version
60
+ hash: 15
61
+ segments:
62
+ - 1
63
+ - 0
64
+ version: "1.0"
65
+ type: :development
66
+ version_requirements: *id003
67
+ description: Bust caches before your users do.
68
+ email:
69
+ - mail@wintoni.us
70
+ executables:
71
+ - background_cache
57
72
  extensions: []
58
73
 
59
- extra_rdoc_files:
60
- - README.markdown
74
+ extra_rdoc_files: []
75
+
61
76
  files:
77
+ - .gitignore
78
+ - Gemfile
79
+ - LICENSE
80
+ - README.md
81
+ - Rakefile
82
+ - background_cache.gemspec
83
+ - bin/background_cache
62
84
  - init.rb
85
+ - lib/background_cache.rb
63
86
  - lib/background_cache/config.rb
64
87
  - lib/background_cache/controller.rb
65
88
  - lib/background_cache/helper.rb
66
- - lib/background_cache.rb
67
- - MIT-LICENSE
89
+ - lib/background_cache/mem_cache.rb
68
90
  - rails/init.rb
69
- - Rakefile
70
- - README.markdown
71
- - require.rb
72
91
  - spec/background_cache_spec.rb
73
92
  - spec/fixtures/rails/app/controllers/application_controller.rb
74
93
  - spec/fixtures/rails/app/helpers/application_helper.rb
@@ -90,7 +109,6 @@ files:
90
109
  - spec/fixtures/rails/lib/background_cache_config.rb
91
110
  - spec/spec_helper.rb
92
111
  - tasks/background_cache.rake
93
- has_rdoc: true
94
112
  homepage: http://github.com/winton/background_cache
95
113
  licenses: []
96
114
 
@@ -120,9 +138,28 @@ required_rubygems_version: !ruby/object:Gem::Requirement
120
138
  requirements: []
121
139
 
122
140
  rubyforge_project:
123
- rubygems_version: 1.3.7
141
+ rubygems_version: 1.8.10
124
142
  signing_key:
125
143
  specification_version: 3
126
144
  summary: Bust caches before your users do
127
- test_files: []
128
-
145
+ test_files:
146
+ - spec/background_cache_spec.rb
147
+ - spec/fixtures/rails/app/controllers/application_controller.rb
148
+ - spec/fixtures/rails/app/helpers/application_helper.rb
149
+ - spec/fixtures/rails/app/views/application/test_1.html.erb
150
+ - spec/fixtures/rails/app/views/application/test_2.html.erb
151
+ - spec/fixtures/rails/app/views/layouts/application.html.erb
152
+ - spec/fixtures/rails/config/boot.rb
153
+ - spec/fixtures/rails/config/environment.rb
154
+ - spec/fixtures/rails/config/environments/development.rb
155
+ - spec/fixtures/rails/config/environments/production.rb
156
+ - spec/fixtures/rails/config/environments/test.rb
157
+ - spec/fixtures/rails/config/initializers/backtrace_silencers.rb
158
+ - spec/fixtures/rails/config/initializers/inflections.rb
159
+ - spec/fixtures/rails/config/initializers/mime_types.rb
160
+ - spec/fixtures/rails/config/initializers/new_rails_defaults.rb
161
+ - spec/fixtures/rails/config/initializers/session_store.rb
162
+ - spec/fixtures/rails/config/locales/en.yml
163
+ - spec/fixtures/rails/config/routes.rb
164
+ - spec/fixtures/rails/lib/background_cache_config.rb
165
+ - spec/spec_helper.rb
data/require.rb DELETED
@@ -1,47 +0,0 @@
1
- require 'rubygems'
2
- gem 'require'
3
- require 'require'
4
-
5
- Require do
6
- gem :require, '=0.2.7'
7
- gem(:'rack-test', '=0.5.3') { require 'rack/test' }
8
- gem(:rake, '=0.8.7') { require 'rake' }
9
- gem :rspec, '=1.3.0'
10
-
11
- gemspec do
12
- author 'Winton Welsh'
13
- dependencies do
14
- gem :'rack-test'
15
- gem :require
16
- end
17
- email 'mail@wintoni.us'
18
- name 'background_cache'
19
- homepage "http://github.com/winton/#{name}"
20
- summary "Bust caches before your users do"
21
- version '0.1.3'
22
- end
23
-
24
- bin { require 'lib/background_cache' }
25
-
26
- lib do
27
- gem :'rack-test'
28
- require 'lib/background_cache/config'
29
- require 'lib/background_cache/controller'
30
- require 'lib/background_cache/helper'
31
- end
32
-
33
- rails_init { require 'lib/background_cache' }
34
-
35
- rakefile do
36
- gem(:rake) { require 'rake/gempackagetask' }
37
- gem(:rspec) { require 'spec/rake/spectask' }
38
- require 'require/tasks'
39
- end
40
-
41
- spec_helper do
42
- gem :'rack-test'
43
- require 'require/spec_helper'
44
- require 'pp'
45
- require 'spec/fixtures/rails/config/environment'
46
- end
47
- end