deep_dive 0.0.6 → 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.idea/runConfigurations/deep_dive.xml +24 -0
- data/.idea/workspace.xml +93 -50
- data/.semver +2 -2
- data/deep_dive.gemspec +3 -2
- data/lib/deep_dive/deep_dive.rb +21 -9
- data/spec/lib/deep_dive/deep_dive_spec.rb +20 -0
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7680503347b52b2ec90bcec1b1800ce3e3848989
|
4
|
+
data.tar.gz: 16abb29dcf31a4154df8d41d9fc432a119a33aa2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e34b5137eb9b83e94d8ef56c0117561ec4c4e9afcfd38d90f50a2cd1e49ae8c39c6fe5b6992988d71e9c78189a924c609ec51c85c084c025b98cdefa56bd278c
|
7
|
+
data.tar.gz: 50226df346459012cabcf6f3a61db65fdd17dc7e5fd529203ec8f6f9037a913a4cd5a617a6cd5befa7e9b62d951388552ea3823862e4c1fbc6a0abead7ec2d98
|
@@ -0,0 +1,24 @@
|
|
1
|
+
<component name="ProjectRunConfigurationManager">
|
2
|
+
<configuration default="false" name="deep_dive" type="RubyRunConfigurationType" factoryName="Ruby">
|
3
|
+
<module name="deep_dive" />
|
4
|
+
<RUBY_RUN_CONFIG NAME="RUBY_ARGS" VALUE="-e $stdout.sync=true;$stderr.sync=true;load($0=ARGV.shift)" />
|
5
|
+
<RUBY_RUN_CONFIG NAME="WORK DIR" VALUE="" />
|
6
|
+
<RUBY_RUN_CONFIG NAME="SHOULD_USE_SDK" VALUE="false" />
|
7
|
+
<RUBY_RUN_CONFIG NAME="ALTERN_SDK_NAME" VALUE="" />
|
8
|
+
<RUBY_RUN_CONFIG NAME="myPassParentEnvs" VALUE="true" />
|
9
|
+
<envs />
|
10
|
+
<EXTENSION ID="BundlerRunConfigurationExtension" bundleExecEnabled="false" />
|
11
|
+
<EXTENSION ID="JRubyRunConfigurationExtension" NailgunExecEnabled="false" />
|
12
|
+
<EXTENSION ID="RubyCoverageRunConfigurationExtension" enabled="false" sample_coverage="true" track_test_folders="true" runner="rcov">
|
13
|
+
<COVERAGE_PATTERN ENABLED="true">
|
14
|
+
<PATTERN REGEXPS="/.rvm/" INCLUDED="false" />
|
15
|
+
</COVERAGE_PATTERN>
|
16
|
+
</EXTENSION>
|
17
|
+
<EXTENSION ID="org.jetbrains.plugins.ruby.motion.run.MotionSimulatorRunExtension" />
|
18
|
+
<RUBY_RUN_CONFIG NAME="SCRIPT_PATH" VALUE="" />
|
19
|
+
<RUBY_RUN_CONFIG NAME="SCRIPT_ARGS" VALUE="" />
|
20
|
+
<RunnerSettings RunnerId="RubyDebugRunner" />
|
21
|
+
<ConfigurationWrapper RunnerId="RubyDebugRunner" />
|
22
|
+
<method />
|
23
|
+
</configuration>
|
24
|
+
</component>
|
data/.idea/workspace.xml
CHANGED
@@ -13,7 +13,7 @@
|
|
13
13
|
<component name="ChangesViewManager" flattened_view="true" show_ignored="false" />
|
14
14
|
<component name="CoverageDataManager">
|
15
15
|
<SUITE FILE_PATH="coverage/deep_dive@deep_dive.coverage" NAME="deep_dive Coverage Results" MODIFIED="1388700129166" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="rcov" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="" MODULE_NAME="deep_dive" />
|
16
|
-
<SUITE FILE_PATH="coverage/deep_dive@Run_spec__deep_dive_spec___deep_dive.coverage" NAME="Run spec 'deep_dive_spec': deep_dive Coverage Results" MODIFIED="
|
16
|
+
<SUITE FILE_PATH="coverage/deep_dive@Run_spec__deep_dive_spec___deep_dive.coverage" NAME="Run spec 'deep_dive_spec': deep_dive Coverage Results" MODIFIED="1388881851308" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="rcov" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$" MODULE_NAME="deep_dive" />
|
17
17
|
</component>
|
18
18
|
<component name="CreatePatchCommitExecutor">
|
19
19
|
<option name="PATCH_PATH" value="" />
|
@@ -30,18 +30,18 @@
|
|
30
30
|
<split-first>
|
31
31
|
<leaf>
|
32
32
|
<file leaf-file-name="deep_dive.rb" pinned="false" current="false" current-in-tab="false">
|
33
|
-
<entry file="file
|
33
|
+
<entry file="file:///bigoldsystem/home/trader/dev/ruby_projects/deep_dive/lib/deep_dive/deep_dive.rb">
|
34
34
|
<provider selected="true" editor-type-id="text-editor">
|
35
|
-
<state line="
|
35
|
+
<state line="123" column="0" selection-start="3670" selection-end="3670" vertical-scroll-proportion="0.0" vertical-offset="45" max-vertical-offset="2280">
|
36
36
|
<folding />
|
37
37
|
</state>
|
38
38
|
</provider>
|
39
39
|
</entry>
|
40
40
|
</file>
|
41
|
-
<file leaf-file-name="
|
42
|
-
<entry file="file
|
41
|
+
<file leaf-file-name="Rakefile" pinned="false" current="true" current-in-tab="true">
|
42
|
+
<entry file="file://$PROJECT_DIR$/Rakefile">
|
43
43
|
<provider selected="true" editor-type-id="text-editor">
|
44
|
-
<state line="
|
44
|
+
<state line="42" column="30" selection-start="1302" selection-end="1302" vertical-scroll-proportion="0.6363636" vertical-offset="0" max-vertical-offset="1035">
|
45
45
|
<folding />
|
46
46
|
</state>
|
47
47
|
</provider>
|
@@ -51,19 +51,19 @@
|
|
51
51
|
</split-first>
|
52
52
|
<split-second>
|
53
53
|
<leaf>
|
54
|
-
<file leaf-file-name="README.rdoc" pinned="false" current="
|
54
|
+
<file leaf-file-name="README.rdoc" pinned="false" current="false" current-in-tab="false">
|
55
55
|
<entry file="file://$PROJECT_DIR$/README.rdoc">
|
56
56
|
<provider selected="true" editor-type-id="text-editor">
|
57
|
-
<state line="46" column="20" selection-start="1480" selection-end="1480" vertical-scroll-proportion="
|
57
|
+
<state line="46" column="20" selection-start="1480" selection-end="1480" vertical-scroll-proportion="0.0" vertical-offset="690" max-vertical-offset="1335">
|
58
58
|
<folding />
|
59
59
|
</state>
|
60
60
|
</provider>
|
61
61
|
</entry>
|
62
62
|
</file>
|
63
|
-
<file leaf-file-name="deep_dive_spec.rb" pinned="false" current="false" current-in-tab="
|
63
|
+
<file leaf-file-name="deep_dive_spec.rb" pinned="false" current="false" current-in-tab="true">
|
64
64
|
<entry file="file://$PROJECT_DIR$/spec/lib/deep_dive/deep_dive_spec.rb">
|
65
65
|
<provider selected="true" editor-type-id="text-editor">
|
66
|
-
<state line="
|
66
|
+
<state line="90" column="0" selection-start="2005" selection-end="2005" vertical-scroll-proportion="0.5663011" vertical-offset="782" max-vertical-offset="1785">
|
67
67
|
<folding />
|
68
68
|
</state>
|
69
69
|
</provider>
|
@@ -72,7 +72,7 @@
|
|
72
72
|
<file leaf-file-name="Gemfile" pinned="false" current="false" current-in-tab="false">
|
73
73
|
<entry file="file://$PROJECT_DIR$/Gemfile">
|
74
74
|
<provider selected="true" editor-type-id="text-editor">
|
75
|
-
<state line="21" column="0" selection-start="469" selection-end="469" vertical-scroll-proportion="0.0" vertical-offset="
|
75
|
+
<state line="21" column="0" selection-start="469" selection-end="469" vertical-scroll-proportion="0.0" vertical-offset="315" max-vertical-offset="405">
|
76
76
|
<folding />
|
77
77
|
</state>
|
78
78
|
</provider>
|
@@ -484,28 +484,6 @@
|
|
484
484
|
<RACK_CONFIG_SETTINGS_ID NAME="LAUNCH_JS" VALUE="false" />
|
485
485
|
<method />
|
486
486
|
</configuration>
|
487
|
-
<configuration default="false" name="deep_dive" type="RubyRunConfigurationType" factoryName="Ruby">
|
488
|
-
<module name="deep_dive" />
|
489
|
-
<RUBY_RUN_CONFIG NAME="RUBY_ARGS" VALUE="-e $stdout.sync=true;$stderr.sync=true;load($0=ARGV.shift)" />
|
490
|
-
<RUBY_RUN_CONFIG NAME="WORK DIR" VALUE="" />
|
491
|
-
<RUBY_RUN_CONFIG NAME="SHOULD_USE_SDK" VALUE="false" />
|
492
|
-
<RUBY_RUN_CONFIG NAME="ALTERN_SDK_NAME" VALUE="" />
|
493
|
-
<RUBY_RUN_CONFIG NAME="myPassParentEnvs" VALUE="true" />
|
494
|
-
<envs />
|
495
|
-
<EXTENSION ID="BundlerRunConfigurationExtension" bundleExecEnabled="false" />
|
496
|
-
<EXTENSION ID="JRubyRunConfigurationExtension" NailgunExecEnabled="false" />
|
497
|
-
<EXTENSION ID="RubyCoverageRunConfigurationExtension" enabled="false" sample_coverage="true" track_test_folders="true" runner="rcov">
|
498
|
-
<COVERAGE_PATTERN ENABLED="true">
|
499
|
-
<PATTERN REGEXPS="/.rvm/" INCLUDED="false" />
|
500
|
-
</COVERAGE_PATTERN>
|
501
|
-
</EXTENSION>
|
502
|
-
<EXTENSION ID="org.jetbrains.plugins.ruby.motion.run.MotionSimulatorRunExtension" />
|
503
|
-
<RUBY_RUN_CONFIG NAME="SCRIPT_PATH" VALUE="" />
|
504
|
-
<RUBY_RUN_CONFIG NAME="SCRIPT_ARGS" VALUE="" />
|
505
|
-
<RunnerSettings RunnerId="RubyDebugRunner" />
|
506
|
-
<ConfigurationWrapper RunnerId="RubyDebugRunner" />
|
507
|
-
<method />
|
508
|
-
</configuration>
|
509
487
|
<list size="2">
|
510
488
|
<item index="0" class="java.lang.String" itemvalue="Ruby.deep_dive" />
|
511
489
|
<item index="1" class="java.lang.String" itemvalue="RSpec.Run spec 'deep_dive_spec': deep_dive" />
|
@@ -564,15 +542,15 @@
|
|
564
542
|
</component>
|
565
543
|
<component name="ToolWindowManager">
|
566
544
|
<frame x="-3" y="-3" width="1926" height="1172" extended-state="6" />
|
567
|
-
<editor active="
|
545
|
+
<editor active="false" />
|
568
546
|
<layout>
|
569
547
|
<window_info id="Changes" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
|
570
548
|
<window_info id="Terminal" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
|
571
549
|
<window_info id="TODO" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.3294347" sideWeight="0.5" order="6" side_tool="false" content_ui="tabs" />
|
572
550
|
<window_info id="Database" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
|
573
|
-
<window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="
|
574
|
-
<window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="
|
575
|
-
<window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="
|
551
|
+
<window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.20127796" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
|
552
|
+
<window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.18423855" sideWeight="0.5" order="0" side_tool="false" content_ui="combo" />
|
553
|
+
<window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.39980546" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
|
576
554
|
<window_info id="Favorites" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="2" side_tool="true" content_ui="tabs" />
|
577
555
|
<window_info id="Event Log" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="7" side_tool="true" content_ui="tabs" />
|
578
556
|
<window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32879376" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
|
@@ -601,10 +579,73 @@
|
|
601
579
|
</component>
|
602
580
|
<component name="XDebuggerManager">
|
603
581
|
<breakpoint-manager>
|
604
|
-
<option name="time" value="
|
582
|
+
<option name="time" value="8" />
|
605
583
|
</breakpoint-manager>
|
606
584
|
</component>
|
607
585
|
<component name="editorHistoryManager">
|
586
|
+
<entry file="file:///bigoldsystem/home/trader/dev/ruby_projects/deep_dive/lib/deep_dive/deep_dive.rb">
|
587
|
+
<provider selected="true" editor-type-id="text-editor">
|
588
|
+
<state line="100" column="22" selection-start="2915" selection-end="2915" vertical-scroll-proportion="0.0" vertical-offset="363" max-vertical-offset="2280">
|
589
|
+
<folding />
|
590
|
+
</state>
|
591
|
+
</provider>
|
592
|
+
</entry>
|
593
|
+
<entry file="file://$PROJECT_DIR$/README.rdoc">
|
594
|
+
<provider selected="true" editor-type-id="text-editor">
|
595
|
+
<state line="46" column="20" selection-start="1480" selection-end="1480" vertical-scroll-proportion="0.0" vertical-offset="690" max-vertical-offset="1335">
|
596
|
+
<folding />
|
597
|
+
</state>
|
598
|
+
</provider>
|
599
|
+
</entry>
|
600
|
+
<entry file="file://$PROJECT_DIR$/spec/lib/deep_dive/deep_dive_spec.rb">
|
601
|
+
<provider selected="true" editor-type-id="text-editor">
|
602
|
+
<state line="48" column="0" selection-start="1154" selection-end="1154" vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="1710">
|
603
|
+
<folding />
|
604
|
+
</state>
|
605
|
+
</provider>
|
606
|
+
</entry>
|
607
|
+
<entry file="file://$PROJECT_DIR$/Gemfile">
|
608
|
+
<provider selected="true" editor-type-id="text-editor">
|
609
|
+
<state line="21" column="0" selection-start="469" selection-end="469" vertical-scroll-proportion="0.0" vertical-offset="315" max-vertical-offset="405">
|
610
|
+
<folding />
|
611
|
+
</state>
|
612
|
+
</provider>
|
613
|
+
</entry>
|
614
|
+
<entry file="file://$PROJECT_DIR$/lib/deep_dive/deep_dive.rb">
|
615
|
+
<provider selected="true" editor-type-id="text-editor">
|
616
|
+
<state line="91" column="63" selection-start="2859" selection-end="2859" vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="2100">
|
617
|
+
<folding />
|
618
|
+
</state>
|
619
|
+
</provider>
|
620
|
+
</entry>
|
621
|
+
<entry file="file:///bigoldsystem/home/trader/dev/ruby_projects/deep_dive/lib/deep_dive/deep_dive.rb">
|
622
|
+
<provider selected="true" editor-type-id="text-editor">
|
623
|
+
<state line="80" column="0" selection-start="2497" selection-end="2497" vertical-scroll-proportion="0.0" vertical-offset="1008" max-vertical-offset="2100">
|
624
|
+
<folding />
|
625
|
+
</state>
|
626
|
+
</provider>
|
627
|
+
</entry>
|
628
|
+
<entry file="file://$PROJECT_DIR$/README.rdoc">
|
629
|
+
<provider selected="true" editor-type-id="text-editor">
|
630
|
+
<state line="46" column="20" selection-start="1480" selection-end="1480" vertical-scroll-proportion="0.0" vertical-offset="690" max-vertical-offset="1335">
|
631
|
+
<folding />
|
632
|
+
</state>
|
633
|
+
</provider>
|
634
|
+
</entry>
|
635
|
+
<entry file="file://$PROJECT_DIR$/spec/lib/deep_dive/deep_dive_spec.rb">
|
636
|
+
<provider selected="true" editor-type-id="text-editor">
|
637
|
+
<state line="88" column="36" selection-start="2098" selection-end="2098" vertical-scroll-proportion="0.0" vertical-offset="895" max-vertical-offset="1485">
|
638
|
+
<folding />
|
639
|
+
</state>
|
640
|
+
</provider>
|
641
|
+
</entry>
|
642
|
+
<entry file="file://$PROJECT_DIR$/Gemfile">
|
643
|
+
<provider selected="true" editor-type-id="text-editor">
|
644
|
+
<state line="21" column="0" selection-start="469" selection-end="469" vertical-scroll-proportion="0.0" vertical-offset="315" max-vertical-offset="405">
|
645
|
+
<folding />
|
646
|
+
</state>
|
647
|
+
</provider>
|
648
|
+
</entry>
|
608
649
|
<entry file="file://$PROJECT_DIR$/lib/deep_dive/deep_dive.rb">
|
609
650
|
<provider selected="true" editor-type-id="text-editor">
|
610
651
|
<state line="52" column="16" selection-start="1585" selection-end="1585" vertical-scroll-proportion="0.0" vertical-offset="780" max-vertical-offset="2100">
|
@@ -720,11 +761,6 @@
|
|
720
761
|
<state line="0" column="0" selection-start="0" selection-end="0" vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="999" />
|
721
762
|
</provider>
|
722
763
|
</entry>
|
723
|
-
<entry file="file://$PROJECT_DIR$/Rakefile">
|
724
|
-
<provider selected="true" editor-type-id="text-editor">
|
725
|
-
<state line="8" column="3" selection-start="125" selection-end="125" vertical-scroll-proportion="0.121703856" vertical-offset="0" max-vertical-offset="1035" />
|
726
|
-
</provider>
|
727
|
-
</entry>
|
728
764
|
<entry file="file://$PROJECT_DIR$/deep_dive.gemspec">
|
729
765
|
<provider selected="true" editor-type-id="text-editor">
|
730
766
|
<state line="28" column="26" selection-start="1199" selection-end="1199" vertical-scroll-proportion="0.42510122" vertical-offset="0" max-vertical-offset="1230" />
|
@@ -737,30 +773,37 @@
|
|
737
773
|
</state>
|
738
774
|
</provider>
|
739
775
|
</entry>
|
740
|
-
<entry file="file://$PROJECT_DIR$/
|
776
|
+
<entry file="file://$PROJECT_DIR$/README.rdoc">
|
741
777
|
<provider selected="true" editor-type-id="text-editor">
|
742
|
-
<state line="
|
778
|
+
<state line="46" column="20" selection-start="1480" selection-end="1480" vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="1335">
|
743
779
|
<folding />
|
744
780
|
</state>
|
745
781
|
</provider>
|
746
782
|
</entry>
|
747
|
-
<entry file="file
|
783
|
+
<entry file="file://$PROJECT_DIR$/lib/deep_dive/deep_dive.rb">
|
748
784
|
<provider selected="true" editor-type-id="text-editor">
|
749
|
-
<state line="
|
785
|
+
<state line="91" column="63" selection-start="2859" selection-end="2859" vertical-scroll-proportion="0.6030303" vertical-offset="768" max-vertical-offset="2100">
|
750
786
|
<folding />
|
751
787
|
</state>
|
752
788
|
</provider>
|
753
789
|
</entry>
|
754
790
|
<entry file="file://$PROJECT_DIR$/spec/lib/deep_dive/deep_dive_spec.rb">
|
755
791
|
<provider selected="true" editor-type-id="text-editor">
|
756
|
-
<state line="
|
792
|
+
<state line="90" column="0" selection-start="2005" selection-end="2005" vertical-scroll-proportion="0.5663011" vertical-offset="782" max-vertical-offset="1785">
|
757
793
|
<folding />
|
758
794
|
</state>
|
759
795
|
</provider>
|
760
796
|
</entry>
|
761
|
-
<entry file="file
|
797
|
+
<entry file="file:///bigoldsystem/home/trader/dev/ruby_projects/deep_dive/lib/deep_dive/deep_dive.rb">
|
798
|
+
<provider selected="true" editor-type-id="text-editor">
|
799
|
+
<state line="123" column="0" selection-start="3670" selection-end="3670" vertical-scroll-proportion="0.0" vertical-offset="45" max-vertical-offset="2280">
|
800
|
+
<folding />
|
801
|
+
</state>
|
802
|
+
</provider>
|
803
|
+
</entry>
|
804
|
+
<entry file="file://$PROJECT_DIR$/Rakefile">
|
762
805
|
<provider selected="true" editor-type-id="text-editor">
|
763
|
-
<state line="
|
806
|
+
<state line="42" column="30" selection-start="1302" selection-end="1302" vertical-scroll-proportion="0.6363636" vertical-offset="0" max-vertical-offset="1035">
|
764
807
|
<folding />
|
765
808
|
</state>
|
766
809
|
</provider>
|
data/.semver
CHANGED
data/deep_dive.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = "deep_dive"
|
8
|
-
s.version = "0.0
|
8
|
+
s.version = "0.1.0"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Fred Mitchell"]
|
12
|
-
s.date = "2014-01-
|
12
|
+
s.date = "2014-01-05"
|
13
13
|
s.description = "\n When you have a system of objects that have many references to each other, it becomes an\n issue to be able to clone properly that object graph. There may be control objects you may\n not want to clone, but maintain references to. And some references you may not wish to clone at all.\n\n Enter DeepDive. Allows you a means by which you can do controlled deep cloning or\n copying of your complex interconnected objects.\n "
|
14
14
|
s.email = "fred@lrcsoft.com"
|
15
15
|
s.extra_rdoc_files = [
|
@@ -24,6 +24,7 @@ Gem::Specification.new do |s|
|
|
24
24
|
".idea/encodings.xml",
|
25
25
|
".idea/misc.xml",
|
26
26
|
".idea/modules.xml",
|
27
|
+
".idea/runConfigurations/deep_dive.xml",
|
27
28
|
".idea/scopes/scope_settings.xml",
|
28
29
|
".idea/vcs.xml",
|
29
30
|
".idea/workspace.xml",
|
data/lib/deep_dive/deep_dive.rb
CHANGED
@@ -18,14 +18,26 @@ module DeepDive
|
|
18
18
|
class DeepDiveException < Exception
|
19
19
|
end
|
20
20
|
|
21
|
-
|
22
|
-
|
23
|
-
|
21
|
+
module API
|
22
|
+
# #ddup is a Deep Dive's replacement for #dup.
|
23
|
+
def ddup
|
24
|
+
_replicate dupit: true
|
25
|
+
end
|
26
|
+
|
27
|
+
# #dclone is Deep Dive's replacement for #clone.
|
28
|
+
def dclone
|
29
|
+
_replicate dupit: false
|
30
|
+
end
|
31
|
+
end
|
32
|
+
|
33
|
+
include API
|
34
|
+
|
35
|
+
class ::Hash
|
36
|
+
include API
|
24
37
|
end
|
25
38
|
|
26
|
-
|
27
|
-
|
28
|
-
_replicate dupit: false
|
39
|
+
class ::Array
|
40
|
+
include API
|
29
41
|
end
|
30
42
|
|
31
43
|
# not meant to be called externally. Use either ddup or dclone.
|
@@ -71,8 +83,8 @@ module DeepDive
|
|
71
83
|
def _add(v: nil, dupit: nil, oc: nil)
|
72
84
|
unless _pairs?
|
73
85
|
case
|
74
|
-
when self.kind_of?(Set)
|
75
|
-
when self.kind_of?(Array)
|
86
|
+
when self.kind_of?(::Set)
|
87
|
+
when self.kind_of?(::Array)
|
76
88
|
self << _ob_maybe_repl(v: v, dupit: dupit, oc: oc)
|
77
89
|
else
|
78
90
|
raise DeepDiveException.new("Don't know how to add new elements for class #{self.class}")
|
@@ -86,7 +98,7 @@ module DeepDive
|
|
86
98
|
# (as in the case of a Hash) or objects (which may look like pairs
|
87
99
|
# but not really).
|
88
100
|
def _pairs?
|
89
|
-
self.kind_of? Hash
|
101
|
+
self.kind_of? ::Hash
|
90
102
|
end
|
91
103
|
|
92
104
|
# Here, with this Enumerator, we want to create a new empty instance
|
@@ -70,6 +70,26 @@ describe DeepDive do
|
|
70
70
|
end
|
71
71
|
end
|
72
72
|
|
73
|
+
context Hash do
|
74
|
+
it 'has the API' do
|
75
|
+
a = {a: 1, b: 2, foo: @foo}
|
76
|
+
a.respond_to?(:dclone).should == true
|
77
|
+
a.respond_to?(:ddup).should == true
|
78
|
+
b = a.dclone
|
79
|
+
b[:a].should == a[:a]
|
80
|
+
b[:foo].should_not == a[:foo]
|
81
|
+
end
|
82
|
+
end
|
83
|
+
|
84
|
+
context Array do
|
85
|
+
it 'has the API' do
|
86
|
+
a = [1, 2, @bar]
|
87
|
+
b = a.dclone
|
88
|
+
a[0].should == b[0]
|
89
|
+
a[2].should_not == b[2]
|
90
|
+
end
|
91
|
+
end
|
92
|
+
|
73
93
|
context 'enumerables' do
|
74
94
|
it 'makes copies of the arrayed objects' do
|
75
95
|
cfb = @foobar.dclone
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: deep_dive
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0
|
4
|
+
version: 0.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Fred Mitchell
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-01-
|
11
|
+
date: 2014-01-05 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: debase
|
@@ -156,6 +156,7 @@ files:
|
|
156
156
|
- .idea/encodings.xml
|
157
157
|
- .idea/misc.xml
|
158
158
|
- .idea/modules.xml
|
159
|
+
- .idea/runConfigurations/deep_dive.xml
|
159
160
|
- .idea/scopes/scope_settings.xml
|
160
161
|
- .idea/vcs.xml
|
161
162
|
- .idea/workspace.xml
|