full_clone 0.0.4 → 0.0.5

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,15 +1,7 @@
1
1
  ---
2
- !binary "U0hBMQ==":
3
- metadata.gz: !binary |-
4
- NDI3NTYzMjY0ZDJlMDBhNWIzMDRjMDFjODE0NmQxM2JhYjE4NzY0Yg==
5
- data.tar.gz: !binary |-
6
- MTRiNGUwMThjMGUxM2Y4YjE3MDhkNDBjMmMyMTIyMTE4MTY2YWY5Mg==
2
+ SHA1:
3
+ metadata.gz: 6356656d26f8c77cdeec7f5eac9d764e4a398623
4
+ data.tar.gz: 4eaa1c261d356c755cfe5f64f95d08a26bb700ae
7
5
  SHA512:
8
- metadata.gz: !binary |-
9
- MGM5MDExYjk0MmQ5ZjUxYTQ5ZmY1OTk1NzBjNmI1OWI5NzNhZTU2ZWYyMWRl
10
- NDYxMTc3NDY5OGY3M2VjMWI1ZTI5MzViZGNjMDliMDNkOWMwMDMyMjczNTk1
11
- OGM0NGIzYWEyZTFhZDI0MGI5MTZhOTgzNWVlM2QyMDFhNjQzZTU=
12
- data.tar.gz: !binary |-
13
- ODZjOGMyYTAyYjAzMGFiMGNjMzhjN2QzMTBiNDc3N2M2ZjNjZDRjY2RjMWMz
14
- YmUyZDZmOGQxODYzNDFhYjYxYjMxOTczMGJjMDc4NjBiNjRhOGZkODkyYTU4
15
- OTM2NDZlMWJmMTY2NTZjMDE3NTgwY2Y5NGU3ZjMyNDFlYTIxMWU=
6
+ metadata.gz: 0116b825408bb0554e0a6d6cbcf7ba0219add96b12ad80a3a813e928781f595b961631d7ed97e17d14ee2b9825373e01c80073cd809777cca9382d97f76f83fd
7
+ data.tar.gz: 81b56106d08a3374e90b203d212e26dfcdf4a088bc52c54a8bb860461beeb1814bb8cd8312b34f42f4cb06bb35b052161f7448bfd846a8d99a5c9687b09e6de3
data/README.md CHANGED
@@ -38,6 +38,15 @@ full_clone_exclude method in the required class:
38
38
  end
39
39
 
40
40
 
41
+ ## Notes
42
+
43
+ The full_clone gem tracks its progress and handles data objects that
44
+ contain loops, cycles, and other forms of recursion. In order to do this,
45
+ it relies heavily on the object_id property of the data being copied.
46
+ If object_id is broken, then full_clone and hashes and ... will also be
47
+ broken!
48
+
49
+
41
50
  ## Contributing
42
51
 
43
52
  1. Fork it
data/full_clone.gemspec CHANGED
@@ -18,6 +18,7 @@ Gem::Specification.new do |spec|
18
18
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
19
19
  spec.require_paths = ["lib"]
20
20
 
21
+ spec.add_development_dependency 'minitest_visible', ">= 0.1.0"
21
22
  spec.add_development_dependency "bundler", "~> 1.3"
22
23
  spec.add_development_dependency "rake"
23
24
  spec.add_development_dependency 'minitest', "~> 4.7.5"
@@ -1,3 +1,3 @@
1
1
  module FullClone
2
- VERSION = "0.0.4"
2
+ VERSION = "0.0.5"
3
3
  end
data/test/array_tests.rb CHANGED
@@ -1,23 +1,15 @@
1
1
  # coding: utf-8
2
2
 
3
3
  require_relative '../lib/full_clone'
4
+ gem 'minitest'
4
5
  require 'minitest/autorun'
6
+ require 'minitest_visible'
5
7
 
6
8
  #Test the monkey patches applied to the Object class.
7
- class ArrayFullCloneTester < MiniTest::Unit::TestCase
9
+ class ArrayFullCloneTester < Minitest::Test
8
10
 
9
- #Special initialize to track rake progress.
10
- def initialize(*all)
11
- $do_this_only_one_time = "" unless defined? $do_this_only_one_time
12
-
13
- if $do_this_only_one_time != __FILE__
14
- puts
15
- puts "Running test file: #{File.split(__FILE__)[1]}"
16
- $do_this_only_one_time = __FILE__
17
- end
18
-
19
- super(*all)
20
- end
11
+ #Track mini-test progress.
12
+ include MinitestVisible
21
13
 
22
14
  def test_basic_deep_cloning
23
15
  sa = "North"
@@ -1,23 +1,15 @@
1
1
  # coding: utf-8
2
2
 
3
3
  require_relative '../lib/full_clone'
4
+ gem 'minitest'
4
5
  require 'minitest/autorun'
6
+ require 'minitest_visible'
5
7
 
6
8
  #Test the monkey patches applied to the Object class.
7
- class FullCloneTester < MiniTest::Unit::TestCase
9
+ class FullCloneTester < Minitest::Test
8
10
 
9
- #Special initialize to track rake progress.
10
- def initialize(*all)
11
- $do_this_only_one_time = "" unless defined? $do_this_only_one_time
12
-
13
- if $do_this_only_one_time != __FILE__
14
- puts
15
- puts "Running test file: #{File.split(__FILE__)[1]}"
16
- $do_this_only_one_time = __FILE__
17
- end
18
-
19
- super(*all)
20
- end
11
+ #Track mini-test progress.
12
+ include MinitestVisible
21
13
 
22
14
  def test_for_safe_value_cloning
23
15
  assert_equal((6).full_clone, 6)
data/test/hash_tests.rb CHANGED
@@ -1,23 +1,15 @@
1
1
  # coding: utf-8
2
2
 
3
3
  require_relative '../lib/full_clone'
4
+ gem 'minitest'
4
5
  require 'minitest/autorun'
6
+ require 'minitest_visible'
5
7
 
6
8
  #Test the monkey patches applied to the Object class.
7
- class HashFullCloneTester < MiniTest::Unit::TestCase
9
+ class HashFullCloneTester < Minitest::Test
8
10
 
9
- #Special initialize to track rake progress.
10
- def initialize(*all)
11
- $do_this_only_one_time = "" unless defined? $do_this_only_one_time
12
-
13
- if $do_this_only_one_time != __FILE__
14
- puts
15
- puts "Running test file: #{File.split(__FILE__)[1]}"
16
- $do_this_only_one_time = __FILE__
17
- end
18
-
19
- super(*all)
20
- end
11
+ #Track mini-test progress.
12
+ include MinitestVisible
21
13
 
22
14
  def test_basic_deep_cloning
23
15
  sa = "North"
data/test/object_tests.rb CHANGED
@@ -1,10 +1,12 @@
1
1
  # coding: utf-8
2
2
 
3
3
  require_relative '../lib/full_clone'
4
+ gem 'minitest'
4
5
  require 'minitest/autorun'
6
+ require 'minitest_visible'
5
7
 
6
8
  #Test the monkey patches applied to the Object class.
7
- class ObjectFullCloneTester < MiniTest::Unit::TestCase
9
+ class ObjectFullCloneTester < Minitest::Test
8
10
 
9
11
  class SimpleClass
10
12
  attr_accessor :iva
@@ -16,18 +18,8 @@ class ObjectFullCloneTester < MiniTest::Unit::TestCase
16
18
  end
17
19
  end
18
20
 
19
- #Special initialize to track rake progress.
20
- def initialize(*all)
21
- $do_this_only_one_time = "" unless defined? $do_this_only_one_time
22
-
23
- if $do_this_only_one_time != __FILE__
24
- puts
25
- puts "Running test file: #{File.split(__FILE__)[1]}"
26
- $do_this_only_one_time = __FILE__
27
- end
28
-
29
- super(*all)
30
- end
21
+ #Track mini-test progress.
22
+ include MinitestVisible
31
23
 
32
24
  def test_basic_deep_cloning
33
25
  sa = "North"
data/test/struct_tests.rb CHANGED
@@ -1,25 +1,17 @@
1
1
  # coding: utf-8
2
2
 
3
3
  require_relative '../lib/full_clone'
4
+ gem 'minitest'
4
5
  require 'minitest/autorun'
6
+ require 'minitest_visible'
5
7
 
6
8
  #Test the monkey patches applied to the Object class.
7
- class StructFullCloneTester < MiniTest::Unit::TestCase
9
+ class StructFullCloneTester < Minitest::Test
8
10
 
9
11
  SimpleStruct = Struct.new(:iva, :ivb, :ivc)
10
12
 
11
- #Special initialize to track rake progress.
12
- def initialize(*all)
13
- $do_this_only_one_time = "" unless defined? $do_this_only_one_time
14
-
15
- if $do_this_only_one_time != __FILE__
16
- puts
17
- puts "Running test file: #{File.split(__FILE__)[1]}"
18
- $do_this_only_one_time = __FILE__
19
- end
20
-
21
- super(*all)
22
- end
13
+ #Track mini-test progress.
14
+ include MinitestVisible
23
15
 
24
16
  def test_basic_deep_cloning
25
17
  sa = "North"
metadata CHANGED
@@ -1,55 +1,69 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: full_clone
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.0.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Peter Camilleri
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-11-05 00:00:00.000000000 Z
11
+ date: 2016-02-18 00:00:00.000000000 Z
12
12
  dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: minitest_visible
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: 0.1.0
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: 0.1.0
13
27
  - !ruby/object:Gem::Dependency
14
28
  name: bundler
15
29
  requirement: !ruby/object:Gem::Requirement
16
30
  requirements:
17
- - - ~>
31
+ - - "~>"
18
32
  - !ruby/object:Gem::Version
19
33
  version: '1.3'
20
34
  type: :development
21
35
  prerelease: false
22
36
  version_requirements: !ruby/object:Gem::Requirement
23
37
  requirements:
24
- - - ~>
38
+ - - "~>"
25
39
  - !ruby/object:Gem::Version
26
40
  version: '1.3'
27
41
  - !ruby/object:Gem::Dependency
28
42
  name: rake
29
43
  requirement: !ruby/object:Gem::Requirement
30
44
  requirements:
31
- - - ! '>='
45
+ - - ">="
32
46
  - !ruby/object:Gem::Version
33
47
  version: '0'
34
48
  type: :development
35
49
  prerelease: false
36
50
  version_requirements: !ruby/object:Gem::Requirement
37
51
  requirements:
38
- - - ! '>='
52
+ - - ">="
39
53
  - !ruby/object:Gem::Version
40
54
  version: '0'
41
55
  - !ruby/object:Gem::Dependency
42
56
  name: minitest
43
57
  requirement: !ruby/object:Gem::Requirement
44
58
  requirements:
45
- - - ~>
59
+ - - "~>"
46
60
  - !ruby/object:Gem::Version
47
61
  version: 4.7.5
48
62
  type: :development
49
63
  prerelease: false
50
64
  version_requirements: !ruby/object:Gem::Requirement
51
65
  requirements:
52
- - - ~>
66
+ - - "~>"
53
67
  - !ruby/object:Gem::Version
54
68
  version: 4.7.5
55
69
  description: A (safe/no exceptions) clone variant that performs a deep, recursive
@@ -60,7 +74,7 @@ executables: []
60
74
  extensions: []
61
75
  extra_rdoc_files: []
62
76
  files:
63
- - .gitignore
77
+ - ".gitignore"
64
78
  - Gemfile
65
79
  - LICENSE.txt
66
80
  - README.md
@@ -87,17 +101,17 @@ require_paths:
87
101
  - lib
88
102
  required_ruby_version: !ruby/object:Gem::Requirement
89
103
  requirements:
90
- - - ! '>='
104
+ - - ">="
91
105
  - !ruby/object:Gem::Version
92
106
  version: '0'
93
107
  required_rubygems_version: !ruby/object:Gem::Requirement
94
108
  requirements:
95
- - - ! '>='
109
+ - - ">="
96
110
  - !ruby/object:Gem::Version
97
111
  version: '0'
98
112
  requirements: []
99
113
  rubyforge_project:
100
- rubygems_version: 2.1.4
114
+ rubygems_version: 2.2.2
101
115
  signing_key:
102
116
  specification_version: 4
103
117
  summary: A clone variant that performs a deep copy.