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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 8cd2149bf559cab624d7beb6297519844bb9fe284c3539fc85e368063ce69af7
4
- data.tar.gz: 402b2ff6b923f6830a02d771e8e76f4e9e5e8ef24138219558c267d9579cc11c
3
+ metadata.gz: 42260a641c41c57664844f70e1af33159efd2a2a84058aad102893d4bbc99910
4
+ data.tar.gz: 3c4c340cc4da121f98339414e80e3d4e7c421c75499fbfdb2db06f43feca63a3
5
5
  SHA512:
6
- metadata.gz: c6c9ea555ae432d00b05cf99cbb88ce66ca9b591e765368888bfd03efe6f26d50cb089ee0ebcf0af12abb5b591b5be89c83166d96e162989996291bf2cbf0311
7
- data.tar.gz: e5ff566690cdc9cb1415693a564a39636b1e4032d6c7d2df12f8be3640dd1dbb221178477649e9f25213a5c9aa0d107ba3d39b0e3501297f09960ca3045efcf8
6
+ metadata.gz: 77a0399cef856452c3ffe915f765912e03790dd7adb99f4dedc96ba05234dff1706b2eebe7939e071fd6aa9715a78e9668ac624e770b716ae6477f8fc6bf0017
7
+ data.tar.gz: c2974939921ff8cea7d8c9da730c98c9d28a0bdb04682041edf50bfe9e783adf762f20a92a0463ce79378723df48c0aab40d933b9754a6057e3c0a7c53204421
@@ -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, options = {})
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
- if respond_to?(:memorized_#{key}) and not frozen? and (memorized_#{key}.blank? or MultiJson.load(memorized_#{key}) != #{key}_unmemorized)
25
- update_column :memorized_#{key}, MultiJson.dump(#{key}_unmemorized)
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
- @#{key} ||= if respond_to?(:memorized_#{key})
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}_unmemorized
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
@@ -1,11 +1,10 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = "railhead_memorize"
3
- s.version = "0.1.4"
4
- s.date = "2019-06-05"
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
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: 2019-06-05 00:00:00.000000000 Z
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.0.2
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: []