durable 1.0 → 1.1

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.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/durable.rb +4 -8
  3. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 6c2e90f8719a9a6de7b5cb5f093684f973d5bc7e
4
- data.tar.gz: 2735fca286544c8dd7913c7f9603973bdd949d46
3
+ metadata.gz: adb8f5ffee5221c31d6ec62638be70ea8ed408ca
4
+ data.tar.gz: 0c67581a3c9441f28e5ea2b785bde0db90701c74
5
5
  SHA512:
6
- metadata.gz: b8923d85bbfbbb71f0ac616718f9d0f60b4b8db11e627f156350d5b77f8bdbbc5a5a59fc7f8053e76fa140b835dc24b35d917f250bf1b48f9278e6fee83954a1
7
- data.tar.gz: 9f297de29821313440ad9d3f90c5b609414ca49a3ea5f6126fe0c412700f0f706de5ceaf759863a32b9ccf4a7fa69ebf2463ad886b0bd537a7e7155238cef5a4
6
+ metadata.gz: 236c6dedcd456b6b075b9e3bb5c3d217464666dce5e0f07217b2aa4dc293536eaaad15817ebe84c387318f82290f3365a52e30d537161a086f374fc6de5d8879
7
+ data.tar.gz: 24237629bb890a5f235764691d3c517f57c613f976f4569444ce64dc143ccb43fcc01b164c15289738910f2f15aad9e7064506b453a0a4815de31c3aae820dc0
@@ -61,20 +61,16 @@ class Durable
61
61
  end
62
62
 
63
63
  def clone_helper(o)
64
- begin
65
- #will fail on fixnums
66
- o.clone
67
- rescue
68
- o
69
- end
64
+ #marshalling used here to "deep clone" the object
65
+ Marshal::load(Marshal::dump(o))
70
66
  end
71
67
 
72
68
  def initialize(obj)
73
69
  @@instances << self
74
70
  @key = obj.keys[0]
75
71
 
76
- if(self.key_exists(@key) && compare_helper(self.load_helper(obj.keys[0])[:initial], obj[@key]) )
77
- loaded = self.load_helper(obj.keys[0])
72
+ if(key_exists(@key) && compare_helper(load_helper(@key)[:initial], obj[@key]) ) #
73
+ loaded = load_helper(@key)
78
74
  @val = loaded[:new]
79
75
  @initial = loaded[:initial]
80
76
  else
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: durable
3
3
  version: !ruby/object:Gem::Version
4
- version: '1.0'
4
+ version: '1.1'
5
5
  platform: ruby
6
6
  authors:
7
7
  - Philipp Sippl
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-02-22 00:00:00.000000000 Z
11
+ date: 2016-03-29 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: Durable is a small gem that can make changes to objects and variables
14
14
  persistent. Usage is super easy and only few changes to your code are needed.