railhead_memorize 0.1.1 → 0.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 4b42d7648e0eb65e97496415ec4abd1f75e1176e
4
- data.tar.gz: 9f46c19cff69631933ac54c7bae826788b7e999a
2
+ SHA256:
3
+ metadata.gz: ae6973a6c92a81ab5536e7ca55c7bb83ce551a1b1346b317f18faeaf261087e8
4
+ data.tar.gz: 8181232441b358691b084671dc22698e8ecb5b88b80694197e746103341de52a
5
5
  SHA512:
6
- metadata.gz: 3fd2f0dbee48a4c2d7b41734d1c94977189a130c4bdcb5800f1b63bec92d420a919f7cd5dc91090a5bfb1fedca26552df0db60381fe00510c4b80c7f09b4cf4f
7
- data.tar.gz: 740668d40c941d117052767362cc4f6c5f0667db890a17115c08e3a4aac180df66cbce2bb894f196974248ec7bd83e96f7d46305582d6ef9eadc7e9aabc0895b
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
- Installation is available as gem (recommended):
7
+ Add to your Gemfile:
8
8
 
9
- config.gem 'railhead_memorize'
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 (nagybence@tipogral.hu), released under the MIT license.
18
-
13
+ Copyright (c) 2011-2015 Bence Nagy (bence.nagy@gmail.com), released under the MIT license.
@@ -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, 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
- update_column :memorized_#{key}, MultiJson.dump(#{key}_unmemorized) if respond_to?(:memorized_#{key}) and not frozen?
25
- @#{key} = nil
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
- @#{key} ||= if respond_to?(:memorized_#{key})
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}_unmemorized
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
@@ -1,18 +1,15 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = "railhead_memorize"
3
- s.version = "0.1.1"
4
- s.date = "2015-02-18"
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 = "nagybence@tipogral.hu"
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.extra_rdoc_files = ["README.rdoc"]
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.1.1
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: 2015-02-18 00:00:00.000000000 Z
11
+ date: 2021-08-03 00:00:00.000000000 Z
12
12
  dependencies: []
13
- description: RailheadMemorize is a Ruby on Rails plugin that easily memorize model
14
- functions.
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
- rubyforge_project:
47
- rubygems_version: 2.4.6
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
@@ -1,2 +0,0 @@
1
- require 'railhead_memorize'
2
-