active_record_store 0.0.2 → 0.0.3

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: d147931e02280393f24fe28ee6314e33614a3856
4
- data.tar.gz: db9caea8d6a7c7c6b1e61c7caa5e201ec756e402
3
+ metadata.gz: 58939c98f8357f0e0631adcb42f6f3536345933a
4
+ data.tar.gz: ce391b16e9757a0213949abb3514a587cdece44f
5
5
  SHA512:
6
- metadata.gz: 8806565ca9f219de587d4188d9e4263041c6379177d57e5d21ef87f85dc0835a8896d96aecdd38fbf082179cab83262a71ca5bafa0dbe78f80bdffcdde4f7bbc
7
- data.tar.gz: e56fb96ff0e8da2ea00ecb44baa28b2c4b23a675304aa8074cd89f4c4a18ba1b2f120da93bb4b3fdee7b0c818d43daaa31738aa8579b7ec80948a1140a23c793
6
+ metadata.gz: fcf68dc10366129f9d27eb1d860745a3db590a33e28c9ac5e68e84fe21ebfea70827a44f6916f29336ade05c65581d5034b8c44ee38a6306a7586913c0c3d8db
7
+ data.tar.gz: 29b16f28accb242a110aefb9c83652595116b334eac9da42cb63be9f6243808b993a8c683295a21ee91d49157d3829adb2ef9c19806ccb42f20bfc065f2fcb13
@@ -1,4 +1,5 @@
1
1
  class ArStore < ActiveRecord::Base
2
+ VALID_OPTION_KEYS = [:expires_in]
2
3
 
3
4
  def self.expiration=(seconds)
4
5
  @expiration ||= sections
@@ -21,12 +22,20 @@ class ArStore < ActiveRecord::Base
21
22
  r ? Marshal.load(r) : nil
22
23
  end
23
24
 
25
+ def self.invalid_options(opts)
26
+ opts.keys - VALID_OPTION_KEYS
27
+ end
28
+
24
29
  def self.write(key, value = nil, options = {}, &blk)
30
+ options.symbolize_keys!
31
+ raise ArgumentError "expires_in is the only valid option" if invalid_options(options).present?
25
32
  raise ArgumentError, "Pass value or a block, not both" if value && block_given?
26
33
  (get(key) || new).write!(key, (value || yield), options[:expires_in])
27
34
  end
28
35
 
29
36
  def self.fetch(key, value = nil, options = {}, &blk)
37
+ options.symbolize_keys!
38
+ raise ArgumentError "expires_in is the only valid option" if invalid_options(options).present?
30
39
  raise ArgumentError, "Pass value or a block, not both" if value && block_given?
31
40
  read(key) || new.write!(key, (value || yield), options[:expires_in])
32
41
  end
@@ -1,3 +1,3 @@
1
1
  module ActiveRecordStore
2
- VERSION = "0.0.2"
2
+ VERSION = "0.0.3"
3
3
  end
metadata CHANGED
@@ -1,69 +1,69 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: active_record_store
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Josh Sharpe
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-05-06 00:00:00.000000000 Z
11
+ date: 2015-05-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - "~>"
17
+ - - ~>
18
18
  - !ruby/object:Gem::Version
19
19
  version: '1.3'
20
20
  type: :development
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - "~>"
24
+ - - ~>
25
25
  - !ruby/object:Gem::Version
26
26
  version: '1.3'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rake
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - ">="
31
+ - - '>='
32
32
  - !ruby/object:Gem::Version
33
33
  version: '0'
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - ">="
38
+ - - '>='
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: rails
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - ">="
45
+ - - '>='
46
46
  - !ruby/object:Gem::Version
47
47
  version: '0'
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - ">="
52
+ - - '>='
53
53
  - !ruby/object:Gem::Version
54
54
  version: '0'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: activesupport
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - ">="
59
+ - - '>='
60
60
  - !ruby/object:Gem::Version
61
61
  version: '0'
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - ">="
66
+ - - '>='
67
67
  - !ruby/object:Gem::Version
68
68
  version: '0'
69
69
  description: Key/Vale Store in AR
@@ -73,7 +73,7 @@ executables: []
73
73
  extensions: []
74
74
  extra_rdoc_files: []
75
75
  files:
76
- - ".gitignore"
76
+ - .gitignore
77
77
  - Gemfile
78
78
  - LICENSE.txt
79
79
  - README.md
@@ -97,17 +97,17 @@ require_paths:
97
97
  - lib
98
98
  required_ruby_version: !ruby/object:Gem::Requirement
99
99
  requirements:
100
- - - ">="
100
+ - - '>='
101
101
  - !ruby/object:Gem::Version
102
102
  version: '0'
103
103
  required_rubygems_version: !ruby/object:Gem::Requirement
104
104
  requirements:
105
- - - ">="
105
+ - - '>='
106
106
  - !ruby/object:Gem::Version
107
107
  version: '0'
108
108
  requirements: []
109
109
  rubyforge_project:
110
- rubygems_version: 2.4.3
110
+ rubygems_version: 2.4.6
111
111
  signing_key:
112
112
  specification_version: 4
113
113
  summary: Seriously, don't use this crap.