memflash 2.1.0 → 2.2.0

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