action_param_caching 0.0.4 → 0.0.5

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: 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