perma_cache 0.0.7 → 0.0.8

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: 921cb4e2804330effa28815fd21d2d7a8dc03b28
4
- data.tar.gz: d9d136e1f7d48776b1dae411947cdff474863ac1
3
+ metadata.gz: 7818d6e5ddd1404043ab18424dc717dc618fda1b
4
+ data.tar.gz: ed53fba22b6a833a978ab8e640789e8379837819
5
5
  SHA512:
6
- metadata.gz: 579934a7efa6f9850295bd935bfb1de69912c19531669c79e3d35cbb981b2fdfac36745b38c0fda46a032a30dc423b3899fd468d4be0ecf7498e36b2d6d29b01
7
- data.tar.gz: 67a176a6d87eb548d9101ea02901792dc6766bb7fd0e544e1f94558e78dfa25cdd0c89e7d69b224ca140c58c627dfeee60e2cce812b2b769feb7a23a8a47dd84
6
+ metadata.gz: 34c9f6b10aedf2dfd165c5614d50468646e1ea4670f957c4c691a6ab4b88ef071cf4476ecc774b88c7677bfd1a562e6ecfdf9d5e4b3b1f5531dba1791f6de347
7
+ data.tar.gz: b874c832786108ae990fab1dc105b4aaa161f249d4469cf142ba88257783792533c3383db9f3131ad80b7926ff67fbf7969fbaa5bed6cc864242771fc9e95619
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- perma_cache (0.0.7)
4
+ perma_cache (0.0.8)
5
5
  rails
6
6
 
7
7
  GEM
@@ -1,3 +1,3 @@
1
1
  module PermaCache
2
- VERSION = "0.0.7"
2
+ VERSION = "0.0.8"
3
3
  end
data/lib/perma_cache.rb CHANGED
@@ -1,4 +1,4 @@
1
- require 'active_support/core_ext/module/aliasing'
1
+ require 'active_support/all'
2
2
 
3
3
  require "perma_cache/version"
4
4
 
@@ -42,6 +42,9 @@ module PermaCache
42
42
 
43
43
  module ClassMethods
44
44
  def perma_cache(original_name, options = {})
45
+ options.symbolize_keys!
46
+ valid_keys = [:expires_in, :obj, :version]
47
+ raise "expected keys are #{valid_keys}" if (options.keys - valid_keys).present?
45
48
  class_eval do
46
49
  regex = /[\?\!]\Z/
47
50
  method_name = original_name.to_s.gsub("!", "_exclamation").gsub("?", "_question")
@@ -69,6 +69,16 @@ end
69
69
 
70
70
  class PermaCacheTest < Minitest::Test
71
71
 
72
+ def test_invalid_keys_should_raise_an_exception
73
+ assert_raises RuntimeError, "expected keys are [:expires_in, :obj, :version]" do
74
+ KlassOne.class_eval do
75
+ def invalid_key
76
+ end
77
+ perma_cache :invalid_key, :foobar => 123
78
+ end
79
+ end
80
+ end
81
+
72
82
  context "build_key_from_object" do
73
83
  context "for a class" do
74
84
  context "That responds to cache_key" do
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: perma_cache
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.7
4
+ version: 0.0.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Josh Sharpe