full_dup 0.0.1 → 0.0.2

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
2
  SHA1:
3
- metadata.gz: 3a2ac1723116c886af7e561cc4acafef3d1620b6
4
- data.tar.gz: 0517dc2b0e8be07b4711f82386fee829b94fb356
3
+ metadata.gz: 6016d05a101cc5acc8d46f46e2b3f3d64dece736
4
+ data.tar.gz: cd1ed57e57825607075f0913c83429c2379adee3
5
5
  SHA512:
6
- metadata.gz: 0ebf965592c3fbf954ce912223bf7952cbda2c966e6668d15e7469e620a3f7c12cc1339ac48e28e968a9b9d0a55f59918e858bce82a3e89f4fe1a6be7f67ffa1
7
- data.tar.gz: 35ffdbd1d46ece617723785367fec7d63d3ff00094ec1d9fa0b2c6fc3da65d7f094202a189b3125eed922e7036686c287be876ab5ed54b4afe44a11b71fc5c93
6
+ metadata.gz: 602747e5742047dfd26232c8b17e434f2b8c77b02ab2f2c7d08b55a6fd4aa58c5086f332d7af93c849bca6753c237373c1cf678b3640f6c85825c1a9bbca9d9a
7
+ data.tar.gz: 7e45d7a4c1a7f0761b09fac8611fd9c69546a714310a7a4cda79eb1be435e25c1a8cfe8042137f2bda58ad56e4d7f9e23819d488a62af6a89d7f5b34e47a1f97
data/README.md CHANGED
@@ -21,6 +21,27 @@ chains. To handle this, the code tracks object ID values and does not re-dup
21
21
  data that has already been duped. Thus even nasty edge cases are handled
22
22
  without any special effort on the part of the application programmer.
23
23
 
24
+ ## Family Overview
25
+
26
+ This gem is a member of a family of four gems that all provide data copying
27
+ services in a safe, easy to use format. The following outlines the available
28
+ gems and how to chose from among them.
29
+
30
+ Depth / Action | Need to copy all. | Need to copy data only.
31
+ ---------------|------------------------------|------------
32
+ Need a shallow copy | require 'safe\_clone' | require 'safe\_dup'
33
+ Need a full copy | require 'full\_clone' | require 'full\_dup'
34
+
35
+ <br>**Notes**
36
+ * Since none of these gems override the default clone and dup
37
+ methods, the default behaviors remain available. Further, if multiple,
38
+ differing requirements exists, more than one family member gem may be
39
+ employed in the same project without fear of conflict.
40
+ * If multiple family gems are employed, they will each need to be installed and
41
+ required into the application. See below for details.
42
+ * Meta-data attributes include the frozen status and singleton methods. However
43
+ the tainted status is always copied.
44
+
24
45
 
25
46
  ## Installation
26
47
 
@@ -38,6 +59,13 @@ Or install it yourself as:
38
59
 
39
60
  $ gem install full_dup
40
61
 
62
+ The safe_dup gem is at: ( https://rubygems.org/gems/safe_dup )
63
+ <br>The safe_clone gem is at: ( https://rubygems.org/gems/safe_clone )
64
+ <br>The full_dup gem is at: ( https://rubygems.org/gems/full_dup )
65
+ <br>The full_clone gem is at: ( https://rubygems.org/gems/full_clone )
66
+
67
+ ## Usage
68
+
41
69
  require 'full_dup'
42
70
 
43
71
  then, in those places where regular dup was problematic, use:
data/full_dup.gemspec CHANGED
@@ -14,11 +14,11 @@ Gem::Specification.new do |spec|
14
14
  spec.homepage = "http://teuthida-technologies.com/"
15
15
  spec.license = "MIT"
16
16
 
17
- spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
18
- spec.bindir = "exe"
17
+ spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test)/}) }
19
18
  spec.require_paths = ["lib"]
20
19
 
21
20
  spec.add_development_dependency 'minitest_visible', ">= 0.1.0"
21
+ spec.add_development_dependency 'mini_readline', ">= 0.4.8"
22
22
  spec.add_development_dependency "bundler", "~> 1.3"
23
23
  spec.add_development_dependency "rake"
24
24
  spec.add_development_dependency 'minitest', "~> 4.7.5"
data/irbt.rb ADDED
@@ -0,0 +1,20 @@
1
+ # coding: utf-8
2
+ # An IRB + full_dup test bed
3
+
4
+ require 'irb'
5
+ $force_alias_read_line_module = true
6
+ require 'mini_readline'
7
+
8
+ puts "Starting an IRB console with full_dup loaded."
9
+
10
+ if ARGV[0] == 'local'
11
+ require_relative 'lib/full_dup'
12
+ puts "full_dup loaded locally: #{FullDup::VERSION}"
13
+
14
+ ARGV.shift
15
+ else
16
+ require 'full_dup'
17
+ puts "full_dup loaded from gem: #{FullDup::VERSION}"
18
+ end
19
+
20
+ IRB.start
@@ -1,5 +1,5 @@
1
1
  # coding: utf-8
2
2
 
3
3
  module FullDup
4
- VERSION = "0.0.1"
4
+ VERSION = "0.0.2"
5
5
  end
data/rakefile.rb CHANGED
@@ -14,6 +14,11 @@ Rake::TestTask.new do |t|
14
14
  t.warning = true
15
15
  end
16
16
 
17
+ desc "Fire up an IRB session with full_dup preloaded."
18
+ task :console do
19
+ system "ruby irbt.rb local"
20
+ end
21
+
17
22
  desc "What version of full_dup is this?"
18
23
  task :vers do |t|
19
24
  puts
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: full_dup
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Peter Camilleri
8
8
  autorequire:
9
- bindir: exe
9
+ bindir: bin
10
10
  cert_chain: []
11
- date: 2016-04-14 00:00:00.000000000 Z
11
+ date: 2016-05-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: minitest_visible
@@ -24,6 +24,20 @@ dependencies:
24
24
  - - ">="
25
25
  - !ruby/object:Gem::Version
26
26
  version: 0.1.0
27
+ - !ruby/object:Gem::Dependency
28
+ name: mini_readline
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: 0.4.8
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: 0.4.8
27
41
  - !ruby/object:Gem::Dependency
28
42
  name: bundler
29
43
  requirement: !ruby/object:Gem::Requirement
@@ -78,6 +92,7 @@ files:
78
92
  - LICENSE.txt
79
93
  - README.md
80
94
  - full_dup.gemspec
95
+ - irbt.rb
81
96
  - lib/full_dup.rb
82
97
  - lib/full_dup/array.rb
83
98
  - lib/full_dup/hash.rb