etag_for 0.1.1 → 0.1.2

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.
data/README.md CHANGED
@@ -52,7 +52,9 @@ end
52
52
 
53
53
  ## etag_for(item_or_items, options = {})
54
54
 
55
- Returns an array of strings that can be used as an input to **fresh_when** and **stale?** to calculate an ETag value for the current request.
55
+ Returns an array of objects and strings that can be used as the **etag** parameter to **fresh_when** and **stale?** to calculate
56
+ an ETag value for the current request. The extra files involved give a more representative value for the **ETAG** header when rendering the
57
+ response using Rails view templates
56
58
 
57
59
  ### item_or_items parameter
58
60
 
@@ -10,7 +10,7 @@ module EtagFor
10
10
  files << options[:view] if options[:view]
11
11
  files += options[:files] if options[:files]
12
12
 
13
- [ extract_keys(item_or_items) ].flatten + [ css_path(css_file), js_path(js_file) ] + digests_of(files)
13
+ [ item_or_items ].flatten + [ css_path(css_file), js_path(js_file) ] + digests_of(files)
14
14
  end
15
15
 
16
16
  protected
@@ -28,14 +28,4 @@ protected
28
28
  view_context.javascript_path(js_file) if js_file && js_file.length > 0
29
29
  end
30
30
 
31
- def extract_keys(item_or_items)
32
- if item_or_items.respond_to?(:map)
33
- item_or_items.map do |item|
34
- item.respond_to?(:cache_key) ? item.cache_key : item.to_param
35
- end
36
- else
37
- item_or_items.respond_to?(:cache_key) ? item_or_items.cache_key : item_or_items.to_param
38
- end
39
- end
40
-
41
31
  end
@@ -1,3 +1,3 @@
1
1
  module EtagFor
2
- VERSION = "0.1.1"
2
+ VERSION = "0.1.2"
3
3
  end
@@ -55,45 +55,21 @@ describe EtagFor do
55
55
  TestController.new.send(:js_path, "").must_be_nil
56
56
  end
57
57
 
58
- it "must extract keys from item array with cache_key" do
59
- item_1 = MiniTest::Mock.new
60
- item_1.expect :cache_key, "foo"
61
-
62
- item_2 = MiniTest::Mock.new
63
- item_2.expect :cache_key, "bar"
64
-
65
- TestController.new.send(:extract_keys, [ item_1, item_2 ]).must_equal [ "foo", "bar" ]
66
- end
67
-
68
- it "must extract key from a single item with cache_key" do
69
- item_1 = MiniTest::Mock.new
70
- item_1.expect :cache_key, "foo"
58
+ it "must return array from etag_for with single item" do
59
+ item = MiniTest::Mock.new
60
+ item.expect :to_param, "foo"
71
61
 
72
- TestController.new.send(:extract_keys, item_1).must_equal "foo"
62
+ TestController.new.etag_for(item, :css => "", :js => "").must_equal [ item, nil, nil ]
73
63
  end
74
64
 
75
- it "must extract keys from item array with out cache_key" do
65
+ it "must return array from etag_for with many items" do
76
66
  item_1 = MiniTest::Mock.new
77
67
  item_1.expect :to_param, "foo"
78
68
 
79
69
  item_2 = MiniTest::Mock.new
80
70
  item_2.expect :to_param, "bar"
81
71
 
82
- TestController.new.send(:extract_keys, [ item_1, item_2 ]).must_equal [ "foo", "bar" ]
83
- end
84
-
85
- it "must extract key from a single item with out cache_key" do
86
- item_1 = MiniTest::Mock.new
87
- item_1.expect :to_param, "foo"
88
-
89
- TestController.new.send(:extract_keys, item_1).must_equal "foo"
90
- end
91
-
92
- it "must return array from etag_for" do
93
- item = MiniTest::Mock.new
94
- item.expect :to_param, "foo"
95
-
96
- TestController.new.etag_for(item, :css => "", :js => "").must_equal [ "foo", nil, nil ]
72
+ TestController.new.etag_for( [ item_1, item_2 ], :css => "", :js => "").must_equal [ item_1, item_2, nil, nil ]
97
73
  end
98
74
  end
99
75
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: etag_for
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-01-20 00:00:00.000000000 Z
12
+ date: 2013-01-21 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: activesupport