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