railhead_memorize 0.1.1 → 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/README.rdoc +3 -8
- data/lib/railhead_memorize.rb +12 -19
- data/railhead_memorize.gemspec +4 -7
- metadata +11 -14
- data/init.rb +0 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: ae6973a6c92a81ab5536e7ca55c7bb83ce551a1b1346b317f18faeaf261087e8
|
4
|
+
data.tar.gz: 8181232441b358691b084671dc22698e8ecb5b88b80694197e746103341de52a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 969db4158c56ac6a58889b88ff1c30158bd2bc5910d4ed589174fd912fe6360a3a7c3bfac9fe9725c0a91bc569976f716e31e6b19a5cc92edaecc7c3bc206244
|
7
|
+
data.tar.gz: ddba9ecbe1fdce3e7d02b4c4d3fc5093fbaf7eb4c79495e6ffedd38b1ef80d0ec5b91f82dc728d9ac595a44cab1a2d039e43d25e725f385ec6ed3ea77072c096
|
data/README.rdoc
CHANGED
@@ -4,15 +4,10 @@ RailheadMemorize is a Ruby on Rails plugin that easily memorize model functions.
|
|
4
4
|
|
5
5
|
== Installation
|
6
6
|
|
7
|
-
|
7
|
+
Add to your Gemfile:
|
8
8
|
|
9
|
-
|
10
|
-
|
11
|
-
Or as Rails plugin:
|
12
|
-
|
13
|
-
$ ruby script/plugin install git://github.com/nagybence/railhead_memorize.git
|
9
|
+
gem 'railhead_memorize'
|
14
10
|
|
15
11
|
== License
|
16
12
|
|
17
|
-
Copyright (c) 2011 Bence Nagy (
|
18
|
-
|
13
|
+
Copyright (c) 2011-2015 Bence Nagy (bence.nagy@gmail.com), released under the MIT license.
|
data/lib/railhead_memorize.rb
CHANGED
@@ -1,44 +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
|
+
_memorize_#{key}
|
21
|
+
end
|
26
22
|
end
|
27
23
|
|
28
24
|
def #{key}
|
29
|
-
|
25
|
+
@_#{key} ||= if respond_to?(:memorized_#{key})
|
30
26
|
if not memorized_#{key}.blank?
|
31
27
|
begin
|
32
28
|
MultiJson.load(memorized_#{key})
|
33
29
|
rescue
|
34
30
|
memorize_#{key}
|
35
|
-
#{key}
|
36
31
|
end
|
37
|
-
elsif #{!!options[:on_view]}
|
38
|
-
memorize_#{key}
|
39
|
-
#{key}
|
40
32
|
else
|
41
|
-
#{key}
|
33
|
+
memorize_#{key}
|
42
34
|
end
|
43
35
|
else
|
44
36
|
#{key}_unmemorized
|
@@ -56,6 +48,7 @@ module RailheadMemorizeLoader
|
|
56
48
|
base.extend ClassMethods
|
57
49
|
end
|
58
50
|
|
51
|
+
|
59
52
|
module ClassMethods
|
60
53
|
|
61
54
|
def use_memorize
|
data/railhead_memorize.gemspec
CHANGED
@@ -1,18 +1,15 @@
|
|
1
1
|
Gem::Specification.new do |s|
|
2
2
|
s.name = "railhead_memorize"
|
3
|
-
s.version = "0.
|
4
|
-
s.date = "
|
3
|
+
s.version = "0.2.0"
|
4
|
+
s.date = "2021-08-03"
|
5
5
|
s.summary = "RailheadMemorize is a Ruby on Rails plugin that easily memorize model functions."
|
6
|
-
s.email = "
|
6
|
+
s.email = "bence.nagy@gmail.com"
|
7
7
|
s.homepage = "http://github.com/nagybence/railhead_memorize"
|
8
|
-
s.description = "RailheadMemorize is a Ruby on Rails plugin that easily memorize model functions."
|
9
|
-
s.has_rdoc = true
|
10
8
|
s.authors = ["Bence Nagy"]
|
11
9
|
s.files = ["MIT-LICENSE",
|
12
10
|
"README.rdoc",
|
13
|
-
"init.rb",
|
14
11
|
"railhead_memorize.gemspec",
|
15
12
|
"lib/railhead_memorize.rb"]
|
16
13
|
s.rdoc_options = ["--main", "README.rdoc"]
|
17
|
-
s.
|
14
|
+
s.license = "MIT"
|
18
15
|
end
|
metadata
CHANGED
@@ -1,32 +1,30 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: railhead_memorize
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
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: 2021-08-03 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
|
-
description:
|
14
|
-
|
15
|
-
email: nagybence@tipogral.hu
|
13
|
+
description:
|
14
|
+
email: bence.nagy@gmail.com
|
16
15
|
executables: []
|
17
16
|
extensions: []
|
18
|
-
extra_rdoc_files:
|
19
|
-
- README.rdoc
|
17
|
+
extra_rdoc_files: []
|
20
18
|
files:
|
21
19
|
- MIT-LICENSE
|
22
20
|
- README.rdoc
|
23
|
-
- init.rb
|
24
21
|
- lib/railhead_memorize.rb
|
25
22
|
- railhead_memorize.gemspec
|
26
23
|
homepage: http://github.com/nagybence/railhead_memorize
|
27
|
-
licenses:
|
24
|
+
licenses:
|
25
|
+
- MIT
|
28
26
|
metadata: {}
|
29
|
-
post_install_message:
|
27
|
+
post_install_message:
|
30
28
|
rdoc_options:
|
31
29
|
- "--main"
|
32
30
|
- README.rdoc
|
@@ -43,9 +41,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
43
41
|
- !ruby/object:Gem::Version
|
44
42
|
version: '0'
|
45
43
|
requirements: []
|
46
|
-
|
47
|
-
|
48
|
-
signing_key:
|
44
|
+
rubygems_version: 3.0.8
|
45
|
+
signing_key:
|
49
46
|
specification_version: 4
|
50
47
|
summary: RailheadMemorize is a Ruby on Rails plugin that easily memorize model functions.
|
51
48
|
test_files: []
|
data/init.rb
DELETED