action_param_caching 0.0.4 → 0.0.5

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 35e4faa5c154d84293cc12b12e1835a5dc10d516
4
- data.tar.gz: dce5f7b4583f52dbd22c8f9c718b25369684f6f6
3
+ metadata.gz: af2efb7d4b2e8e93e987c154450467fc5a6cd033
4
+ data.tar.gz: 54c135c51ef4f9675ef95972ebfdee17179dc605
5
5
  SHA512:
6
- metadata.gz: ebfb09d03f19638197d1d59c3056236f95490b24fbac332e4bfc922313622bc349f5c398fae8099f9b88489d3eacff49e3e5ebe090855e07eccc47b529a6cf88
7
- data.tar.gz: 1b5d612c40ef423c64bc4ceb6a2506af8c396daf624cf23f025081045d2264f8753fed49ab1432f5f6701899875530d3561565b629eb769f8440eb030ca781ce
6
+ metadata.gz: 33378ceee82abfb723d4a21cba13eb61adb0a40946107b20d7314506d45e55e7d048231de2fe381e1e022f86b02655c7fe38bc67a02fc4e6dbafaa3894c88ad9
7
+ data.tar.gz: e79cae2094f1ae7845b356489854ba459c187e7f85081e90b7bdff8e67f836e5fc3a9a31db371cd8367f54512e349772404299ca29efd4a688e67e13b7fb1cf1
data/.travis.yml ADDED
@@ -0,0 +1,3 @@
1
+ rvm:
2
+ - "1.9.3"
3
+ - "2.0.0"
@@ -15,7 +15,7 @@ module ActionParamCaching
15
15
 
16
16
  def initialize(controller_path, action, valid_params = [], filter_starting_with = nil)
17
17
  @action = action
18
- if valid_params
18
+ if valid_params and !valid_params.empty?
19
19
  @valid_params = valid_params
20
20
  @valid_params << :controller << :action << :format
21
21
  end
@@ -1,3 +1,3 @@
1
1
  module ActionParamCaching
2
- VERSION = "0.0.4"
2
+ VERSION = "0.0.5"
3
3
  end
@@ -4,21 +4,21 @@ module ActionParamCaching
4
4
  describe ActionConfig do
5
5
  context "in order to track the cache configuration of an action" do
6
6
  it "is initialized with valid params, an action, and a prefix filter" do
7
- cache_config = ActionParamCaching::ActionConfig.new(:index,[:id, :name, :amount], '_')
7
+ cache_config = ActionParamCaching::ActionConfig.new("some_controller", :index,[:id, :name, :amount], '_')
8
8
  cache_config.action.should == :index
9
- cache_config.valid_params.should == [:id, :name, :amount]
9
+ cache_config.valid_params.should == [:id, :name, :amount, :controller, :action, :format]
10
10
  cache_config.filter_starting_with.should == '_'
11
11
  end
12
12
 
13
13
  it "sets the correct default values for valid params and prefix filters" do
14
- cache_config = ActionParamCaching::ActionConfig.new(:index)
14
+ cache_config = ActionParamCaching::ActionConfig.new("some_controller", :index)
15
15
  cache_config.action.should == :index
16
- cache_config.valid_params.should == []
17
- cache_config.filter_starting_with.should be_nil
16
+ cache_config.valid_params.should == nil
17
+ cache_config.filter_starting_with.should == '_'
18
18
  end
19
19
 
20
20
  it "tracks if a cache has been configured" do
21
- cache_config = ActionParamCaching::ActionConfig.new(:index)
21
+ cache_config = ActionParamCaching::ActionConfig.new("some_controller", :index)
22
22
  cache_config.did_config_cache.should be_false
23
23
  cache_config.did_config_cache = true
24
24
  cache_config.did_config_cache.should be_true
@@ -27,55 +27,57 @@ module ActionParamCaching
27
27
 
28
28
  context "when generating action cache arguments" do
29
29
  it "has an if condition when you specify valid params" do
30
- cache_config = ActionParamCaching::ActionConfig.new(:index,[:id, :name, :amount], '_')
30
+ cache_config = ActionParamCaching::ActionConfig.new("some_controller", :index,[:id, :name, :amount], '_')
31
31
  cache_args = cache_config.cache_args
32
32
  cache_args[:if].should be
33
33
  end
34
34
 
35
35
  it "does not have an if condition if you don't specify valid params" do
36
- cache_config = ActionParamCaching::ActionConfig.new(:index)
36
+ cache_config = ActionParamCaching::ActionConfig.new("some_controller",:index)
37
37
  cache_args = cache_config.cache_args
38
38
  cache_args[:if].should be_nil
39
39
  end
40
40
 
41
41
  it "has a the correct cache path when stripping params with a prefix" do
42
- cache_config = ActionParamCaching::ActionConfig.new(:index,[:id, :name, :amount], '_')
43
-
44
-
45
- cache_config.stubs(:params).returns( {:_remove_me => true} )
42
+ cache_config = ActionParamCaching::ActionConfig.new("some_controller", :index,[:id, :name, :amount], '_')
43
+ request = mock
44
+ request.stubs(:params).returns( {:_remove_me => true, :controller => "some_controller", :action => :index, :format => 'json'} )
46
45
  cache_args = cache_config.cache_args
47
46
  proc = cache_args[:cache_path]
48
- proc.call(nil).should == ""
47
+ proc.call(request).should == {:controller => "some_controller", :action => :index, :format => 'json'}.to_query
49
48
  end
50
49
 
51
50
  it "has a the correct cache path under normal conditions" do
52
- cache_config = ActionParamCaching::ActionConfig.new(:index,[:id, :name, :amount])
51
+ cache_config = ActionParamCaching::ActionConfig.new("some_controller", :index,[:id, :name, :amount])
53
52
  cache_args = cache_config.cache_args
54
- cache_config.stubs(:params).returns( {:_remove_me => false} )
53
+ request = mock
54
+ request.stubs(:params).returns( {:_remove_me => false, :controller => "some_controller", :action => :index, :format => 'json'} )
55
55
  proc = cache_args[:cache_path]
56
- proc.call(nil).should == cache_config.params.to_query
56
+ proc.call(request).should == {:controller => "some_controller", :action => :index, :format => 'json'}.to_query
57
57
  end
58
58
 
59
59
  it "does not have a if argument if the valid params are empty" do
60
- cache_config = ActionParamCaching::ActionConfig.new(:index)
60
+ cache_config = ActionParamCaching::ActionConfig.new("some_controller", :index)
61
61
  cache_args = cache_config.cache_args
62
62
  cache_args[:if].should be_nil
63
63
  end
64
64
 
65
65
  it "does have an if argument that returns true if the params are a subset of the valid params" do
66
- cache_config = ActionParamCaching::ActionConfig.new(:index,[:id, :name, :amount])
66
+ cache_config = ActionParamCaching::ActionConfig.new("some_controller", :index,[:id, :name, :amount])
67
67
  cache_args = cache_config.cache_args
68
- cache_config.stubs(:params).returns( {:id => 23, :name => "test"} )
68
+ request = mock
69
+ request.stubs(:params).returns( {:id => 23, :name => "test", :controller => "some_controller", :action => :index, :format => 'json'} )
69
70
  proc = cache_args[:if]
70
- proc.call.should be_true
71
+ proc.call(request).should be_true
71
72
  end
72
73
 
73
74
  it "does have an if argument that returns false if the params are not a subset of the valid params" do
74
- cache_config = ActionParamCaching::ActionConfig.new(:index,[:id, :name, :amount])
75
+ cache_config = ActionParamCaching::ActionConfig.new("some_controller", :index,[:id, :name, :amount])
75
76
  cache_args = cache_config.cache_args
76
- cache_config.stubs(:params).returns( {:id => 23, :name => "test", :not => "valid"} )
77
+ request = mock
78
+ request.stubs(:params).returns( {:id => 23, :name => "test", :not => "valid", :controller => "some_controller", :action => :index, :format => 'json'} )
77
79
  proc = cache_args[:if]
78
- proc.call.should be_false
80
+ proc.call(request).should be_false
79
81
  end
80
82
  end
81
83
  end
@@ -4,6 +4,9 @@ class TestController
4
4
  extend ActionParamCaching::Rails::ActionController
5
5
  def self.caches_action(action, args)
6
6
  end
7
+ def self.controller_path
8
+ "some_controller"
9
+ end
7
10
  end
8
11
 
9
12
  module ActionParamCaching
@@ -20,7 +23,7 @@ module ActionParamCaching
20
23
 
21
24
  it "provided a means to set a set or subset or params to cache on" do
22
25
  TestController.cache_with_params :on => [:test2], :with_set_or_subset => [:param1, :param2]
23
- TestController.action_cache_configs[:test2].valid_params.should == [:param1, :param2]
26
+ TestController.action_cache_configs[:test2].valid_params.should == [:param1, :param2, :controller, :action, :format]
24
27
  end
25
28
 
26
29
  it "provides a means to filter params that have a prefix" do
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: action_param_caching
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.0.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - cparratto
@@ -102,6 +102,7 @@ extensions: []
102
102
  extra_rdoc_files: []
103
103
  files:
104
104
  - .gitignore
105
+ - .travis.yml
105
106
  - Gemfile
106
107
  - LICENSE.txt
107
108
  - README.md