safe_clone 0.0.9 → 1.0.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 +4 -4
- data/lib/safe_clone.rb +11 -3
- data/lib/safe_clone/version.rb +1 -1
- data/rakefile.rb +5 -0
- data/reek.txt +1 -0
- data/safe_clone.gemspec +1 -1
- metadata +17 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: '08afbd5a88faa6f508dc4dd8744b217a03f5df0b'
|
4
|
+
data.tar.gz: 0df3cbc0dc1b5b181f38091e8f75df302a1def24
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8925ea3f33cbe71ac5ad0e27f764623c4b223aaaaf0ec9d07aa3a2058babd2244e0222d7a73e6edcb90be61c494b9a81f870464506b3eff59f1b8e7b7f989fef
|
7
|
+
data.tar.gz: cfad571404643eab59beef2899ad13556574ccf737ed7e2b5a9037803e69d4f4219d5fca9fffc4dd3526514639c5b8457f26193e14ecff282b564d5e2f32d4da
|
data/lib/safe_clone.rb
CHANGED
@@ -1,5 +1,8 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
|
1
3
|
require_relative "safe_clone/version"
|
2
4
|
|
5
|
+
# The default safe clone is Ruby clone.
|
3
6
|
class Object
|
4
7
|
#By default, reference types use the clone method.
|
5
8
|
def safe_clone
|
@@ -7,39 +10,44 @@ class Object
|
|
7
10
|
end
|
8
11
|
end
|
9
12
|
|
10
|
-
#For value types, just
|
13
|
+
# For value types, safe clone just returns self.
|
11
14
|
module SafeClone
|
12
15
|
def safe_clone
|
13
16
|
self
|
14
17
|
end
|
15
18
|
end
|
16
19
|
|
17
|
-
#
|
20
|
+
# Numeric does safe clone.
|
18
21
|
class Numeric
|
19
22
|
include SafeClone
|
20
23
|
end
|
21
24
|
|
25
|
+
# NilClass does safe clone.
|
22
26
|
class NilClass
|
23
27
|
include SafeClone
|
24
28
|
end
|
25
29
|
|
30
|
+
# TrueClass does safe clone.
|
26
31
|
class TrueClass
|
27
32
|
include SafeClone
|
28
33
|
end
|
29
34
|
|
35
|
+
# FalseClass does safe clone.
|
30
36
|
class FalseClass
|
31
37
|
include SafeClone
|
32
38
|
end
|
33
39
|
|
40
|
+
# Symbols do safe clone.
|
34
41
|
class Symbol
|
35
42
|
include SafeClone
|
36
43
|
end
|
37
44
|
|
45
|
+
# Regular expressions do safe clone.
|
38
46
|
class Regexp
|
39
47
|
include SafeClone
|
40
48
|
end
|
41
49
|
|
50
|
+
# Threads do safe clone.
|
42
51
|
class Thread
|
43
52
|
include SafeClone
|
44
53
|
end
|
45
|
-
|
data/lib/safe_clone/version.rb
CHANGED
data/rakefile.rb
CHANGED
@@ -8,6 +8,11 @@ Rake::TestTask.new do |t|
|
|
8
8
|
t.verbose = false
|
9
9
|
end
|
10
10
|
|
11
|
+
desc "Run a scan for smelly code!"
|
12
|
+
task :reek do |t|
|
13
|
+
`reek --no-color lib > reek.txt`
|
14
|
+
end
|
15
|
+
|
11
16
|
desc "Fire up an IRB session with safe_clone preloaded."
|
12
17
|
task :console do
|
13
18
|
system "ruby irbt.rb local"
|
data/reek.txt
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
0 total warnings
|
data/safe_clone.gemspec
CHANGED
@@ -21,5 +21,5 @@ Gem::Specification.new do |spec|
|
|
21
21
|
spec.add_development_dependency "bundler", "~> 1.3"
|
22
22
|
spec.add_development_dependency 'minitest', "~> 5.7"
|
23
23
|
spec.add_development_dependency 'minitest_visible', "~> 0.1"
|
24
|
-
|
24
|
+
spec.add_development_dependency 'reek', "~> 5.0.2"
|
25
25
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: safe_clone
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0
|
4
|
+
version: 1.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Peter Camilleri
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-
|
11
|
+
date: 2018-09-20 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rake
|
@@ -66,6 +66,20 @@ dependencies:
|
|
66
66
|
- - "~>"
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: '0.1'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: reek
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - "~>"
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: 5.0.2
|
76
|
+
type: :development
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - "~>"
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: 5.0.2
|
69
83
|
description: A safer version of the clone method that avoids unnecessary exceptions.
|
70
84
|
email:
|
71
85
|
- peter.c.camilleri@gmail.com
|
@@ -83,6 +97,7 @@ files:
|
|
83
97
|
- lib/safe_clone.rb
|
84
98
|
- lib/safe_clone/version.rb
|
85
99
|
- rakefile.rb
|
100
|
+
- reek.txt
|
86
101
|
- safe_clone.gemspec
|
87
102
|
- test/safe_clone_tests.rb
|
88
103
|
homepage: https://github.com/PeterCamilleri/safe_clone
|