railhead_memorize 0.1.4 → 0.2.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/railhead_memorize.rb +11 -20
- data/railhead_memorize.gemspec +2 -3
- metadata +7 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 42260a641c41c57664844f70e1af33159efd2a2a84058aad102893d4bbc99910
|
4
|
+
data.tar.gz: 3c4c340cc4da121f98339414e80e3d4e7c421c75499fbfdb2db06f43feca63a3
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 77a0399cef856452c3ffe915f765912e03790dd7adb99f4dedc96ba05234dff1706b2eebe7939e071fd6aa9715a78e9668ac624e770b716ae6477f8fc6bf0017
|
7
|
+
data.tar.gz: c2974939921ff8cea7d8c9da730c98c9d28a0bdb04682041edf50bfe9e783adf762f20a92a0463ce79378723df48c0aab40d933b9754a6057e3c0a7c53204421
|
data/lib/railhead_memorize.rb
CHANGED
@@ -1,46 +1,36 @@
|
|
1
|
-
require 'active_support'
|
2
|
-
require 'multi_json'
|
3
|
-
|
4
|
-
|
5
1
|
module RailheadMemorize
|
6
2
|
|
7
3
|
def self.included(base)
|
8
4
|
base.extend ClassMethods
|
9
5
|
end
|
10
6
|
|
7
|
+
|
11
8
|
module ClassMethods
|
12
9
|
|
13
|
-
def memorize(key
|
14
|
-
options.reverse_merge! :on_view => true
|
10
|
+
def memorize(key)
|
15
11
|
class_eval <<-END
|
16
12
|
alias #{key}_unmemorized #{key}
|
17
|
-
before_create :initialize_memorized_#{key}
|
18
|
-
|
19
|
-
def initialize_memorized_#{key}
|
20
|
-
self.memorized_#{key} = MultiJson.dump(#{options[:default] ? options[:default].inspect : '[]'}) if respond_to?(:memorized_#{key})
|
21
|
-
end
|
22
13
|
|
23
14
|
def memorize_#{key}
|
24
|
-
|
25
|
-
|
15
|
+
unless frozen?
|
16
|
+
_memorize_#{key} = #{key}_unmemorized
|
17
|
+
if respond_to?(:memorized_#{key}) and (memorized_#{key}.blank? or MultiJson.load(memorized_#{key}) != _memorize_#{key})
|
18
|
+
update_column :memorized_#{key}, MultiJson.dump(_memorize_#{key})
|
19
|
+
end
|
20
|
+
@_#{key} = _memorize_#{key}
|
26
21
|
end
|
27
|
-
@#{key} = nil
|
28
22
|
end
|
29
23
|
|
30
24
|
def #{key}
|
31
|
-
|
25
|
+
@_#{key} ||= if respond_to?(:memorized_#{key})
|
32
26
|
if not memorized_#{key}.blank?
|
33
27
|
begin
|
34
28
|
MultiJson.load(memorized_#{key})
|
35
29
|
rescue
|
36
30
|
memorize_#{key}
|
37
|
-
#{key}
|
38
31
|
end
|
39
|
-
elsif #{!!options[:on_view]}
|
40
|
-
memorize_#{key}
|
41
|
-
#{key}
|
42
32
|
else
|
43
|
-
#{key}
|
33
|
+
memorize_#{key}
|
44
34
|
end
|
45
35
|
else
|
46
36
|
#{key}_unmemorized
|
@@ -58,6 +48,7 @@ module RailheadMemorizeLoader
|
|
58
48
|
base.extend ClassMethods
|
59
49
|
end
|
60
50
|
|
51
|
+
|
61
52
|
module ClassMethods
|
62
53
|
|
63
54
|
def use_memorize
|
data/railhead_memorize.gemspec
CHANGED
@@ -1,11 +1,10 @@
|
|
1
1
|
Gem::Specification.new do |s|
|
2
2
|
s.name = "railhead_memorize"
|
3
|
-
s.version = "0.1
|
4
|
-
s.date = "
|
3
|
+
s.version = "0.2.1"
|
4
|
+
s.date = "2023-04-26"
|
5
5
|
s.summary = "RailheadMemorize is a Ruby on Rails plugin that easily memorize model functions."
|
6
6
|
s.email = "bence.nagy@gmail.com"
|
7
7
|
s.homepage = "http://github.com/nagybence/railhead_memorize"
|
8
|
-
s.has_rdoc = true
|
9
8
|
s.authors = ["Bence Nagy"]
|
10
9
|
s.files = ["MIT-LICENSE",
|
11
10
|
"README.rdoc",
|
metadata
CHANGED
@@ -1,16 +1,16 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: railhead_memorize
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1
|
4
|
+
version: 0.2.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Bence Nagy
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2023-04-26 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
|
-
description:
|
13
|
+
description:
|
14
14
|
email: bence.nagy@gmail.com
|
15
15
|
executables: []
|
16
16
|
extensions: []
|
@@ -24,7 +24,7 @@ homepage: http://github.com/nagybence/railhead_memorize
|
|
24
24
|
licenses:
|
25
25
|
- MIT
|
26
26
|
metadata: {}
|
27
|
-
post_install_message:
|
27
|
+
post_install_message:
|
28
28
|
rdoc_options:
|
29
29
|
- "--main"
|
30
30
|
- README.rdoc
|
@@ -41,8 +41,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
41
41
|
- !ruby/object:Gem::Version
|
42
42
|
version: '0'
|
43
43
|
requirements: []
|
44
|
-
rubygems_version: 3.
|
45
|
-
signing_key:
|
44
|
+
rubygems_version: 3.1.6
|
45
|
+
signing_key:
|
46
46
|
specification_version: 4
|
47
47
|
summary: RailheadMemorize is a Ruby on Rails plugin that easily memorize model functions.
|
48
48
|
test_files: []
|