block_cache 0.0.2 → 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/block_cache.rb +18 -21
- data/lib/block_cache/version.rb +1 -1
- metadata +5 -21
data/lib/block_cache.rb
CHANGED
@@ -1,25 +1,21 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
WHEN EXITING BLOCKS WITH NIL DATA. THIS LIBRARY CURRENTLY DOSESNT PREVENT
|
15
|
-
THIS EXCEPTION.
|
16
|
-
|
17
|
-
=end
|
18
|
-
|
1
|
+
# block_cache methods for caching single block responses in mongo
|
2
|
+
# planned to support mongoid in the future. :D -blake
|
3
|
+
#
|
4
|
+
# attributes:
|
5
|
+
# * block_key: basic key passed to the cache_overwrite_by method that
|
6
|
+
# will store and overwrite by that valid. could easily use
|
7
|
+
# the request.uri for content cached as json or something as
|
8
|
+
# such.
|
9
|
+
# * block_response: basic block of content that is returned by the block call.
|
10
|
+
#
|
11
|
+
# WARNING: BLOCKS THAT RETURN NIL WILL OVERWRITE THE DATA. TO BE SURE RAISE ERRORS
|
12
|
+
# WHEN EXITING BLOCKS WITH NIL DATA. THIS LIBRARY CURRENTLY DOSESNT PREVENT
|
13
|
+
# THIS EXCEPTION.
|
19
14
|
module BlockCache
|
20
15
|
CACHE_NIL_RESPONSES = true
|
21
|
-
|
22
|
-
require '
|
16
|
+
AIRBRAKE_SUPPORTED=begin
|
17
|
+
require 'airbrake' ;; true
|
18
|
+
Airbrake
|
23
19
|
rescue
|
24
20
|
false
|
25
21
|
end
|
@@ -30,6 +26,7 @@ module BlockCache
|
|
30
26
|
|
31
27
|
module ControllerMethods
|
32
28
|
class NilResponseError < Exception ;; end
|
29
|
+
|
33
30
|
def cache_overwrite_by(key, &block)
|
34
31
|
raise ArgumentError, "needs a key and block" unless key && block
|
35
32
|
|
@@ -42,7 +39,7 @@ module BlockCache
|
|
42
39
|
rescue => exception
|
43
40
|
logger.info "block cache error(#{exception.to_s}) returned, rendering from mongo."
|
44
41
|
logger.debug "Backtrace:\n\n#{exception.backtrace}\n\n"
|
45
|
-
|
42
|
+
Airbrake.notify(exception) if RAILS_ENV["production"] and AIRBRAKE_SUPPORTED
|
46
43
|
|
47
44
|
return BlockCache::Record.find_by_block_key(key).try(:block_response)
|
48
45
|
end
|
data/lib/block_cache/version.rb
CHANGED
metadata
CHANGED
@@ -2,12 +2,12 @@
|
|
2
2
|
name: block_cache
|
3
3
|
version: !ruby/object:Gem::Version
|
4
4
|
hash: 27
|
5
|
-
prerelease:
|
5
|
+
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
|
+
- 1
|
8
9
|
- 0
|
9
|
-
|
10
|
-
version: 0.0.2
|
10
|
+
version: 0.1.0
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Blake Chambers
|
@@ -15,8 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date:
|
19
|
-
default_executable:
|
18
|
+
date: 2012-01-13 00:00:00 Z
|
20
19
|
dependencies:
|
21
20
|
- !ruby/object:Gem::Dependency
|
22
21
|
name: mongo_mapper
|
@@ -32,20 +31,6 @@ dependencies:
|
|
32
31
|
version: "0"
|
33
32
|
type: :runtime
|
34
33
|
version_requirements: *id001
|
35
|
-
- !ruby/object:Gem::Dependency
|
36
|
-
name: rspec
|
37
|
-
prerelease: false
|
38
|
-
requirement: &id002 !ruby/object:Gem::Requirement
|
39
|
-
none: false
|
40
|
-
requirements:
|
41
|
-
- - ">="
|
42
|
-
- !ruby/object:Gem::Version
|
43
|
-
hash: 3
|
44
|
-
segments:
|
45
|
-
- 0
|
46
|
-
version: "0"
|
47
|
-
type: :development
|
48
|
-
version_requirements: *id002
|
49
34
|
description: "uses mongo_mapper to cache block response strings. Use case: wrap your twitter api call with a block, if twitter bugs out, raise an error and the last value will be returned"
|
50
35
|
email:
|
51
36
|
- chambb1@gmail.com
|
@@ -65,7 +50,6 @@ files:
|
|
65
50
|
- lib/block_cache.rb
|
66
51
|
- lib/block_cache/version.rb
|
67
52
|
- spec/block_cache_spec.rb
|
68
|
-
has_rdoc: true
|
69
53
|
homepage: http://rubygems.org/gems/block_cache
|
70
54
|
licenses: []
|
71
55
|
|
@@ -95,7 +79,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
95
79
|
requirements: []
|
96
80
|
|
97
81
|
rubyforge_project:
|
98
|
-
rubygems_version: 1.
|
82
|
+
rubygems_version: 1.8.10
|
99
83
|
signing_key:
|
100
84
|
specification_version: 3
|
101
85
|
summary: uses mongo_mapper to cache block response strings.
|