perma_cache 0.0.7 → 0.0.8

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