memflash 2.1.0 → 2.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. checksums.yaml +5 -5
  2. data/lib/memflash.rb +12 -22
  3. metadata +6 -6
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 91adaa1d3205348e27d9737573f4a0bd1af12700
4
- data.tar.gz: bfeed0876eb2b6924fabcc4ea3cc8c93095570f8
2
+ SHA256:
3
+ metadata.gz: d4e1d74a4a4643d2181964d073008a19da83176cba18176a5064a6dcf8221d3a
4
+ data.tar.gz: f9fbed439de59261cb5ac7d8178f934cf6a8cf57c3023bcf97f4e248021ed9e3
5
5
  SHA512:
6
- metadata.gz: 274de44bb16ba6f8a899483ce3e9caa93b8618d18adc372085cd3529911bb47883569bebb31aaa44b3dee5f7040806e07dea4a1ff2a0291dfa803a351db1289e
7
- data.tar.gz: 4b06623ee89a0cd238338e0512b5ab73d3d908f68f5f23b1cda0b270b43f0a569493ac3c8dd0c53641a748576c6e744ad4ddd1884ccf2b758c6c697edb71c050
6
+ metadata.gz: b27d86df51380563910bc05a3322414573de86587caf1d222a14ce466840ef4d42ce61faabbe00d570a7385b578642cded28f5d01a786d57bfc8cb34c87baa2d
7
+ data.tar.gz: 530ec821f19ff7b90f605bee44d78012c2175773bd8baa365d295c3d4fcf94377b81c83daed79a1951732343c28b98130897a9b2c79a259bd6d9ef83b425b29c
@@ -5,14 +5,7 @@ module Memflash
5
5
  self.threshold = 300 # Messages longer than this will be stored in Rails.cache
6
6
 
7
7
  module CachingLayer
8
- def self.included(base)
9
- base.class_eval do
10
- alias_method_chain :[]=, :caching
11
- alias_method_chain :[], :caching
12
- end
13
- end
14
-
15
- define_method "[]_with_caching=" do |key, value|
8
+ def []=(key, value)
16
9
  value_for_hash = value
17
10
 
18
11
  if value.kind_of?(String) && value.length >= Memflash.threshold
@@ -20,12 +13,16 @@ module Memflash
20
13
  Rails.cache.write(value_for_hash, value)
21
14
  end
22
15
 
23
- send("[]_without_caching=", key, value_for_hash)
16
+ super(key, value_for_hash)
24
17
  end
25
18
 
26
- define_method "[]_with_caching" do |key|
27
- value_in_hash = send("[]_without_caching", key)
28
- memflashed?(key, value_in_hash) ? Rails.cache.read(value_in_hash) : value_in_hash
19
+ def [](key)
20
+ value_in_hash = super
21
+ if memflashed?(key, value_in_hash)
22
+ Rails.cache.read(value_in_hash)
23
+ else
24
+ value_in_hash
25
+ end
29
26
  end
30
27
 
31
28
  private
@@ -35,17 +32,10 @@ module Memflash
35
32
  end
36
33
 
37
34
  def memflashed?(key, value)
38
- !!(value =~ /^Memflash-#{key}/)
35
+ /^Memflash-#{key}/.match? value
39
36
  end
40
37
  end
41
38
  end
42
39
 
43
- require 'action_pack/version'
44
- base = if ActionPack::VERSION::MAJOR >= 3
45
- require 'action_dispatch'
46
- ActionDispatch::Flash::FlashHash
47
- else
48
- require 'action_controller'
49
- ActionController::Flash::FlashHash
50
- end
51
- base.send :include, Memflash::CachingLayer
40
+ require 'action_dispatch'
41
+ ActionDispatch::Flash::FlashHash.prepend Memflash::CachingLayer
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: memflash
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.1.0
4
+ version: 2.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Vladimir Andrijevik
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-02-10 00:00:00.000000000 Z
11
+ date: 2020-06-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: actionpack
@@ -16,7 +16,7 @@ dependencies:
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: 3.2.15
19
+ version: 4.2.11
20
20
  - - "<"
21
21
  - !ruby/object:Gem::Version
22
22
  version: '5.1'
@@ -26,7 +26,7 @@ dependencies:
26
26
  requirements:
27
27
  - - ">="
28
28
  - !ruby/object:Gem::Version
29
- version: 3.2.15
29
+ version: 4.2.11
30
30
  - - "<"
31
31
  - !ruby/object:Gem::Version
32
32
  version: '5.1'
@@ -138,7 +138,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
138
138
  requirements:
139
139
  - - ">="
140
140
  - !ruby/object:Gem::Version
141
- version: '0'
141
+ version: '2.5'
142
142
  required_rubygems_version: !ruby/object:Gem::Requirement
143
143
  requirements:
144
144
  - - ">="
@@ -146,7 +146,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
146
146
  version: '0'
147
147
  requirements: []
148
148
  rubyforge_project:
149
- rubygems_version: 2.4.5.1
149
+ rubygems_version: 2.7.6.2
150
150
  signing_key:
151
151
  specification_version: 4
152
152
  summary: Memflash is a gem which enables storing really long values in the Rails FlashHash