metabolical 1.2.1 → 1.2.2

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
2
  SHA256:
3
- metadata.gz: faacd5513f12befc6c99e1e65c3aada807d94a48a028aa5253c6f77af371e519
4
- data.tar.gz: ffc93e62172881ced736383c59cc4a37100e5f086094c4a0d5b0ed1d4dd38f48
3
+ metadata.gz: d2a16fdb0982ec46db5eb4ddfd248e1b6379a863ce7447e426e43c8b77c5c4ad
4
+ data.tar.gz: 467cf3b51a491e4afece911adb36957a93b73183b7644534c2f166e03b6c60a4
5
5
  SHA512:
6
- metadata.gz: ea741a3dfa3dc69ac6fbee39b322bca44c20307ae1b27c883db4c2df5d62c8ba8840d681d2edf22e2a3db4bdd428f8f894d2cebf35ceb638240ee7ac381a57b0
7
- data.tar.gz: af00caf122910ab6d540288a17abe3f9fbd9abbbb57f6c43516081e960b91f551500510b97369a3b56268d3b13b2b3534dc5c4a30e753f6fe716b8e84d5cfc48
6
+ metadata.gz: 5659ae2b024cbc4e21287024fee1091f03e3f966a8804c5be5ae144f79a9d100d4f063e42fb3fe4fbde62f5f1ab3307ec4577e00bb77254965a336d8da55a78a
7
+ data.tar.gz: 06a39d53ec32260e9e01571ccc16a059370e7ce135678f844475432a355797dcdb48eee65abeca0d8c47e6e0d6471cdeb2adf1a18fecb2106d1eecbeee889964
@@ -1,3 +1,3 @@
1
1
  module Metabolical
2
- VERSION = "1.2.1"
2
+ VERSION = "1.2.2"
3
3
  end
data/lib/metabolical.rb CHANGED
@@ -3,11 +3,11 @@ require 'metabolical/scopes'
3
3
 
4
4
  module Metabolical
5
5
  class Error < StandardError; end
6
-
6
+
7
7
  def self.included(klass)
8
8
  klass.extend ClassMethods
9
- end
10
-
9
+ end
10
+
11
11
  module ClassMethods
12
12
  def metabolize!
13
13
  if self.respond_to?(:named_scope)
@@ -20,9 +20,9 @@ module Metabolical
20
20
  has_many :metas, :as => :metabolized, :class_name => 'Metabolical::MetaDatum' do
21
21
  def [](key)
22
22
  owner = (self.respond_to?(:proxy_association) ? self.proxy_association.owner : self.proxy_owner)
23
- (owner.metas.loaded? && owner.metas.detect{|m| m.key == key} ) || find_by(key: key) || owner.metas.build(:key => key)
23
+ (owner.metas.loaded? && owner.metas.detect { |m| m.key == key }) || find_by(key: key) || owner.metas.load.build(:key => key)
24
24
  end
25
-
25
+
26
26
  def []=(key, data)
27
27
  owner = (self.respond_to?(:proxy_association) ? self.proxy_association.owner : self.proxy_owner)
28
28
  meta = self[key]
@@ -32,8 +32,8 @@ module Metabolical
32
32
  end
33
33
  end
34
34
  end
35
-
35
+
36
36
  end
37
37
  end
38
-
38
+
39
39
  end
@@ -23,6 +23,21 @@ describe Metabolical do
23
23
  @user.metas['foo'] = 'bar'
24
24
  assert_equal 'bar', @user.metas['foo'].data
25
25
  end
26
+
27
+ it "should be able to assign multiple metas before saving and retrieving them after save" do
28
+ @user.metas['foo'] = 'bar'
29
+ @user.metas['baz'] = 'fuu'
30
+ @user.save
31
+ assert_equal 'bar', @user.metas['foo'].data
32
+ assert_equal 'fuu', @user.metas['baz'].data
33
+ end
34
+
35
+ it "should be able to assign multiple metas before saving and retrieving them before save" do
36
+ @user.metas['foo'] = 'bar'
37
+ @user.metas['baz'] = 'fuu'
38
+ assert_equal 'bar', @user.metas['foo'].data
39
+ assert_equal 'fuu', @user.metas['baz'].data
40
+ end
26
41
  end
27
42
 
28
43
  describe "saved record" do
@@ -89,4 +104,4 @@ describe Metabolical do
89
104
 
90
105
  end
91
106
  end
92
- end
107
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: metabolical
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.1
4
+ version: 1.2.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Diego Scataglini
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-10-03 00:00:00.000000000 Z
11
+ date: 2024-10-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activerecord