lims-core 3.2.3
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 +15 -0
- data/.gitignore +5 -0
- data/.rspec +1 -0
- data/.rvmrc +2 -0
- data/.travis.yml +2 -0
- data/.vimrc +27 -0
- data/.yard_templates/default/layout/html/footer.erb +0 -0
- data/.yardopts +1 -0
- data/Gemfile +54 -0
- data/Gemfile.lock +197 -0
- data/Guardfile +21 -0
- data/Guardfile.tmux +28 -0
- data/README.markdown +67 -0
- data/Rakefile +16 -0
- data/config/database.yml +16 -0
- data/doc/Array.html +116 -0
- data/doc/Array/ArrayLoggerPersistor.html +152 -0
- data/doc/Lims.html +114 -0
- data/doc/Lims/Core.html +178 -0
- data/doc/Lims/Core/Action.html +91 -0
- data/doc/Lims/Core/Actions.html +116 -0
- data/doc/Lims/Core/Actions/Action.html +216 -0
- data/doc/Lims/Core/Actions/Action/AfterEval.html +853 -0
- data/doc/Lims/Core/Actions/Action/InvalidParameters.html +268 -0
- data/doc/Lims/Core/Actions/ActionGroup.html +196 -0
- data/doc/Lims/Core/Actions/ActionGroup/AfterEval.html +315 -0
- data/doc/Lims/Core/Actions/BulkAction.html +224 -0
- data/doc/Lims/Core/Actions/BulkAction/AfterEval.html +253 -0
- data/doc/Lims/Core/Actions/TestActionGroup.html +101 -0
- data/doc/Lims/Core/Actions/TestActionGroup/Action.html +133 -0
- data/doc/Lims/Core/Actions/TestActionGroup/ActionGroup.html +127 -0
- data/doc/Lims/Core/Base.html +287 -0
- data/doc/Lims/Core/Base/AccessibleViaSuper.html +252 -0
- data/doc/Lims/Core/Base/ClassMethod.html +177 -0
- data/doc/Lims/Core/Base/HashString.html +177 -0
- data/doc/Lims/Core/Base/IsArrayOf.html +606 -0
- data/doc/Lims/Core/Base/State.html +130 -0
- data/doc/Lims/Core/Organization.html +113 -0
- data/doc/Lims/Core/Organization/Batch.html +106 -0
- data/doc/Lims/Core/Persistence.html +267 -0
- data/doc/Lims/Core/Persistence/ComparisonFilter.html +318 -0
- data/doc/Lims/Core/Persistence/Filter.html +252 -0
- data/doc/Lims/Core/Persistence/IdentityMap.html +409 -0
- data/doc/Lims/Core/Persistence/IdentityMap/Class.html +144 -0
- data/doc/Lims/Core/Persistence/IdentityMap/DuplicateError.html +126 -0
- data/doc/Lims/Core/Persistence/IdentityMap/DuplicateIdError.html +136 -0
- data/doc/Lims/Core/Persistence/IdentityMap/DuplicateObjectError.html +136 -0
- data/doc/Lims/Core/Persistence/IdentityMapClass.html +133 -0
- data/doc/Lims/Core/Persistence/Logger.html +105 -0
- data/doc/Lims/Core/Persistence/Logger/Persistor.html +334 -0
- data/doc/Lims/Core/Persistence/Logger/Session.html +452 -0
- data/doc/Lims/Core/Persistence/Logger/Store.html +470 -0
- data/doc/Lims/Core/Persistence/MessageBus.html +871 -0
- data/doc/Lims/Core/Persistence/MessageBus/ConnectionError.html +123 -0
- data/doc/Lims/Core/Persistence/MessageBus/InvalidSettingsError.html +122 -0
- data/doc/Lims/Core/Persistence/MultiCriteriaFilter.html +293 -0
- data/doc/Lims/Core/Persistence/PersistAssociationTrait.html +91 -0
- data/doc/Lims/Core/Persistence/PersistableTrait.html +91 -0
- data/doc/Lims/Core/Persistence/Persistor.html +3072 -0
- data/doc/Lims/Core/Persistence/Persistor/DuplicateError.html +205 -0
- data/doc/Lims/Core/Persistence/Persistor/DuplicateIdError.html +147 -0
- data/doc/Lims/Core/Persistence/Persistor/DuplicateObjectError.html +147 -0
- data/doc/Lims/Core/Persistence/PersistorTrait.html +91 -0
- data/doc/Lims/Core/Persistence/ResourceState.html +1738 -0
- data/doc/Lims/Core/Persistence/Search.html +269 -0
- data/doc/Lims/Core/Persistence/Search/CreateSearch.html +251 -0
- data/doc/Lims/Core/Persistence/Search/SearchPersistor.html +240 -0
- data/doc/Lims/Core/Persistence/Search/SearchSequelPersistor.html +396 -0
- data/doc/Lims/Core/Persistence/Sequel.html +117 -0
- data/doc/Lims/Core/Persistence/Sequel/Filters.html +462 -0
- data/doc/Lims/Core/Persistence/Sequel/ForTest.html +101 -0
- data/doc/Lims/Core/Persistence/Sequel/ForTest/Name.html +137 -0
- data/doc/Lims/Core/Persistence/Sequel/ForTest/Name/NamePersitor.html +143 -0
- data/doc/Lims/Core/Persistence/Sequel/Migrations.html +266 -0
- data/doc/Lims/Core/Persistence/Sequel/Persistor.html +665 -0
- data/doc/Lims/Core/Persistence/Sequel/Session.html +501 -0
- data/doc/Lims/Core/Persistence/Sequel/Store.html +417 -0
- data/doc/Lims/Core/Persistence/Session.html +2751 -0
- data/doc/Lims/Core/Persistence/Session/UnmanagedObjectError.html +111 -0
- data/doc/Lims/Core/Persistence/StateGroup.html +696 -0
- data/doc/Lims/Core/Persistence/StateList.html +498 -0
- data/doc/Lims/Core/Persistence/Store.html +695 -0
- data/doc/Lims/Core/Persistence/UuidResource.html +1044 -0
- data/doc/Lims/Core/Persistence/UuidResource/InvalidUuidError.html +111 -0
- data/doc/Lims/Core/Persistence/UuidResource/UuidResourcePersistor.html +337 -0
- data/doc/Lims/Core/Persistence/Uuidable.html +799 -0
- data/doc/Lims/Core/Persistor.html +320 -0
- data/doc/Lims/Core/Resource.html +165 -0
- data/doc/Object.html +228 -0
- data/doc/SessionSpec.html +101 -0
- data/doc/SessionSpec/Model.html +279 -0
- data/doc/SessionSpec/Model/ModelPersistor.html +327 -0
- data/doc/_index.html +732 -0
- data/doc/class_list.html +47 -0
- data/doc/css/common.css +1 -0
- data/doc/css/full_list.css +55 -0
- data/doc/css/style.css +322 -0
- data/doc/file.README.html +127 -0
- data/doc/file_list.html +49 -0
- data/doc/frames.html +13 -0
- data/doc/index.html +127 -0
- data/doc/js/app.js +205 -0
- data/doc/js/full_list.js +167 -0
- data/doc/js/jquery.js +16 -0
- data/doc/method_list.html +1894 -0
- data/doc/top-level-namespace.html +100 -0
- data/lib/common.rb +18 -0
- data/lib/lims-core.rb +29 -0
- data/lib/lims-core/actions.rb +10 -0
- data/lib/lims-core/actions/action.rb +185 -0
- data/lib/lims-core/actions/action_group.rb +54 -0
- data/lib/lims-core/actions/bulk_action.rb +65 -0
- data/lib/lims-core/base.rb +132 -0
- data/lib/lims-core/helpers.rb +41 -0
- data/lib/lims-core/persistence.rb +15 -0
- data/lib/lims-core/persistence/comparison_filter.rb +54 -0
- data/lib/lims-core/persistence/filter.rb +23 -0
- data/lib/lims-core/persistence/identity_map.rb +55 -0
- data/lib/lims-core/persistence/logger/all.rb +5 -0
- data/lib/lims-core/persistence/logger/persistor.rb +35 -0
- data/lib/lims-core/persistence/logger/session.rb +30 -0
- data/lib/lims-core/persistence/logger/store.rb +37 -0
- data/lib/lims-core/persistence/message_bus.rb +131 -0
- data/lib/lims-core/persistence/multi_criteria_filter.rb +50 -0
- data/lib/lims-core/persistence/persist_association_trait.rb +96 -0
- data/lib/lims-core/persistence/persistable_trait.rb +150 -0
- data/lib/lims-core/persistence/persistor.rb +495 -0
- data/lib/lims-core/persistence/resource_state.rb +157 -0
- data/lib/lims-core/persistence/search.rb +3 -0
- data/lib/lims-core/persistence/search/all.rb +3 -0
- data/lib/lims-core/persistence/search/create_search.rb +55 -0
- data/lib/lims-core/persistence/search/search_persistor.rb +45 -0
- data/lib/lims-core/persistence/search/search_sequel_persistor.rb +40 -0
- data/lib/lims-core/persistence/sequel.rb +14 -0
- data/lib/lims-core/persistence/sequel/filters.rb +106 -0
- data/lib/lims-core/persistence/sequel/migrations.rb +14 -0
- data/lib/lims-core/persistence/sequel/migrations/add_audit_tables.rb +147 -0
- data/lib/lims-core/persistence/sequel/migrations/initial.rb +156 -0
- data/lib/lims-core/persistence/sequel/persistor.rb +200 -0
- data/lib/lims-core/persistence/sequel/session.rb +136 -0
- data/lib/lims-core/persistence/sequel/store.rb +37 -0
- data/lib/lims-core/persistence/session.rb +409 -0
- data/lib/lims-core/persistence/state_group.rb +97 -0
- data/lib/lims-core/persistence/state_list.rb +56 -0
- data/lib/lims-core/persistence/store.rb +73 -0
- data/lib/lims-core/persistence/uuid_resource.rb +115 -0
- data/lib/lims-core/persistence/uuid_resource_persistor.rb +43 -0
- data/lib/lims-core/persistence/uuidable.rb +107 -0
- data/lib/lims-core/resource.rb +21 -0
- data/lib/lims-core/subclass_tracker.rb +30 -0
- data/lib/lims-core/version.rb +5 -0
- data/lims-core.gemspec +40 -0
- data/makefile +52 -0
- data/showoff/core-2012-06-11/core/01_slide.md +237 -0
- data/showoff/core-2012-06-11/core/02_slide.md +110 -0
- data/showoff/core-2012-06-11/custom.css +44 -0
- data/showoff/core-2012-06-11/main/01_slide.md +53 -0
- data/showoff/core-2012-06-11/showoff.json +10 -0
- data/showoff/core-2012-06-11/tp1.tpl +1 -0
- data/spec/actions/action_group_spec.rb +39 -0
- data/spec/actions/spec_helper.rb +1 -0
- data/spec/persistence/identity_map_spec.rb +55 -0
- data/spec/persistence/logger/spec_helper.rb +7 -0
- data/spec/persistence/logger/store_spec.rb +48 -0
- data/spec/persistence/message_bus_spec.rb +76 -0
- data/spec/persistence/sequel/session_spec.rb +125 -0
- data/spec/persistence/sequel/spec_helper.rb +39 -0
- data/spec/persistence/sequel/store_shared.rb +25 -0
- data/spec/persistence/sequel/store_spec.rb +22 -0
- data/spec/persistence/session_spec.rb +199 -0
- data/spec/persistence/spec_helper.rb +2 -0
- data/spec/persistence/uuid_resource_spec.rb +80 -0
- data/spec/spec_helper.rb +10 -0
- data/spec/subclass_tracker_sperc.rb +62 -0
- data/utils/constant_tree.rb +29 -0
- data/utils/stack.rb +48 -0
- metadata +402 -0
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
|
2
|
+
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
3
|
+
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
|
4
|
+
<head>
|
|
5
|
+
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
|
6
|
+
<title>
|
|
7
|
+
Exception: Lims::Core::Persistence::Session::UnmanagedObjectError
|
|
8
|
+
|
|
9
|
+
— Documentation by YARD 0.7.3
|
|
10
|
+
|
|
11
|
+
</title>
|
|
12
|
+
|
|
13
|
+
<link rel="stylesheet" href="../../../../css/style.css" type="text/css" media="screen" charset="utf-8" />
|
|
14
|
+
|
|
15
|
+
<link rel="stylesheet" href="../../../../css/common.css" type="text/css" media="screen" charset="utf-8" />
|
|
16
|
+
|
|
17
|
+
<script type="text/javascript" charset="utf-8">
|
|
18
|
+
relpath = '../../../..';
|
|
19
|
+
if (relpath != '') relpath += '/';
|
|
20
|
+
</script>
|
|
21
|
+
|
|
22
|
+
<script type="text/javascript" charset="utf-8" src="../../../../js/jquery.js"></script>
|
|
23
|
+
|
|
24
|
+
<script type="text/javascript" charset="utf-8" src="../../../../js/app.js"></script>
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
</head>
|
|
28
|
+
<body>
|
|
29
|
+
<script type="text/javascript" charset="utf-8">
|
|
30
|
+
if (window.top.frames.main) document.body.className = 'frames';
|
|
31
|
+
</script>
|
|
32
|
+
|
|
33
|
+
<div id="header">
|
|
34
|
+
<div id="menu">
|
|
35
|
+
|
|
36
|
+
<a href="../../../../_index.html">Index (U)</a> »
|
|
37
|
+
<span class='title'><span class='object_link'><a href="../../../../Lims.html" title="Lims (module)">Lims</a></span></span> » <span class='title'><span class='object_link'><a href="../../../Core.html" title="Lims::Core (module)">Core</a></span></span> » <span class='title'><span class='object_link'><a href="../../Persistence.html" title="Lims::Core::Persistence (module)">Persistence</a></span></span> » <span class='title'><span class='object_link'><a href="../Session.html" title="Lims::Core::Persistence::Session (class)">Session</a></span></span>
|
|
38
|
+
»
|
|
39
|
+
<span class="title">UnmanagedObjectError</span>
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
<div class="noframes"><span class="title">(</span><a href="." target="_top">no frames</a><span class="title">)</span></div>
|
|
43
|
+
</div>
|
|
44
|
+
|
|
45
|
+
<div id="search">
|
|
46
|
+
|
|
47
|
+
<a id="class_list_link" href="#">Class List</a>
|
|
48
|
+
|
|
49
|
+
<a id="method_list_link" href="#">Method List</a>
|
|
50
|
+
|
|
51
|
+
<a id="file_list_link" href="#">File List</a>
|
|
52
|
+
|
|
53
|
+
</div>
|
|
54
|
+
<div class="clear"></div>
|
|
55
|
+
</div>
|
|
56
|
+
|
|
57
|
+
<iframe id="search_frame"></iframe>
|
|
58
|
+
|
|
59
|
+
<div id="content"><h1>Exception: Lims::Core::Persistence::Session::UnmanagedObjectError
|
|
60
|
+
|
|
61
|
+
|
|
62
|
+
|
|
63
|
+
</h1>
|
|
64
|
+
|
|
65
|
+
<dl class="box">
|
|
66
|
+
|
|
67
|
+
<dt class="r1">Inherits:</dt>
|
|
68
|
+
<dd class="r1">
|
|
69
|
+
<span class="inheritName">RuntimeError</span>
|
|
70
|
+
|
|
71
|
+
<ul class="fullTree">
|
|
72
|
+
<li><span class='object_link'><a href="../../../../Object.html" title="Object (class)">Object</a></span></li>
|
|
73
|
+
|
|
74
|
+
<li class="next">RuntimeError</li>
|
|
75
|
+
|
|
76
|
+
<li class="next">Lims::Core::Persistence::Session::UnmanagedObjectError</li>
|
|
77
|
+
|
|
78
|
+
</ul>
|
|
79
|
+
<a href="#" class="inheritanceTree">show all</a>
|
|
80
|
+
|
|
81
|
+
</dd>
|
|
82
|
+
|
|
83
|
+
|
|
84
|
+
|
|
85
|
+
|
|
86
|
+
|
|
87
|
+
|
|
88
|
+
|
|
89
|
+
|
|
90
|
+
|
|
91
|
+
<dt class="r2 last">Defined in:</dt>
|
|
92
|
+
<dd class="r2 last">lib/lims-core/persistence/session.rb</dd>
|
|
93
|
+
|
|
94
|
+
</dl>
|
|
95
|
+
<div class="clear"></div>
|
|
96
|
+
|
|
97
|
+
|
|
98
|
+
|
|
99
|
+
|
|
100
|
+
|
|
101
|
+
|
|
102
|
+
|
|
103
|
+
|
|
104
|
+
|
|
105
|
+
|
|
106
|
+
|
|
107
|
+
</div>
|
|
108
|
+
|
|
109
|
+
|
|
110
|
+
</body>
|
|
111
|
+
</html>
|
|
@@ -0,0 +1,696 @@
|
|
|
1
|
+
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
|
2
|
+
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
3
|
+
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
|
4
|
+
<head>
|
|
5
|
+
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
|
6
|
+
<title>
|
|
7
|
+
Class: Lims::Core::Persistence::StateGroup
|
|
8
|
+
|
|
9
|
+
— Documentation by YARD 0.7.3
|
|
10
|
+
|
|
11
|
+
</title>
|
|
12
|
+
|
|
13
|
+
<link rel="stylesheet" href="../../../css/style.css" type="text/css" media="screen" charset="utf-8" />
|
|
14
|
+
|
|
15
|
+
<link rel="stylesheet" href="../../../css/common.css" type="text/css" media="screen" charset="utf-8" />
|
|
16
|
+
|
|
17
|
+
<script type="text/javascript" charset="utf-8">
|
|
18
|
+
relpath = '../../..';
|
|
19
|
+
if (relpath != '') relpath += '/';
|
|
20
|
+
</script>
|
|
21
|
+
|
|
22
|
+
<script type="text/javascript" charset="utf-8" src="../../../js/jquery.js"></script>
|
|
23
|
+
|
|
24
|
+
<script type="text/javascript" charset="utf-8" src="../../../js/app.js"></script>
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
</head>
|
|
28
|
+
<body>
|
|
29
|
+
<script type="text/javascript" charset="utf-8">
|
|
30
|
+
if (window.top.frames.main) document.body.className = 'frames';
|
|
31
|
+
</script>
|
|
32
|
+
|
|
33
|
+
<div id="header">
|
|
34
|
+
<div id="menu">
|
|
35
|
+
|
|
36
|
+
<a href="../../../_index.html">Index (S)</a> »
|
|
37
|
+
<span class='title'><span class='object_link'><a href="../../../Lims.html" title="Lims (module)">Lims</a></span></span> » <span class='title'><span class='object_link'><a href="../../Core.html" title="Lims::Core (module)">Core</a></span></span> » <span class='title'><span class='object_link'><a href="../Persistence.html" title="Lims::Core::Persistence (module)">Persistence</a></span></span>
|
|
38
|
+
»
|
|
39
|
+
<span class="title">StateGroup</span>
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
<div class="noframes"><span class="title">(</span><a href="." target="_top">no frames</a><span class="title">)</span></div>
|
|
43
|
+
</div>
|
|
44
|
+
|
|
45
|
+
<div id="search">
|
|
46
|
+
|
|
47
|
+
<a id="class_list_link" href="#">Class List</a>
|
|
48
|
+
|
|
49
|
+
<a id="method_list_link" href="#">Method List</a>
|
|
50
|
+
|
|
51
|
+
<a id="file_list_link" href="#">File List</a>
|
|
52
|
+
|
|
53
|
+
</div>
|
|
54
|
+
<div class="clear"></div>
|
|
55
|
+
</div>
|
|
56
|
+
|
|
57
|
+
<iframe id="search_frame"></iframe>
|
|
58
|
+
|
|
59
|
+
<div id="content"><h1>Class: Lims::Core::Persistence::StateGroup
|
|
60
|
+
|
|
61
|
+
|
|
62
|
+
|
|
63
|
+
</h1>
|
|
64
|
+
|
|
65
|
+
<dl class="box">
|
|
66
|
+
|
|
67
|
+
<dt class="r1">Inherits:</dt>
|
|
68
|
+
<dd class="r1">
|
|
69
|
+
<span class="inheritName"><span class='object_link'><a href="StateList.html" title="Lims::Core::Persistence::StateList (class)">StateList</a></span></span>
|
|
70
|
+
|
|
71
|
+
<ul class="fullTree">
|
|
72
|
+
<li><span class='object_link'><a href="../../../Object.html" title="Object (class)">Object</a></span></li>
|
|
73
|
+
|
|
74
|
+
<li class="next">Set</li>
|
|
75
|
+
|
|
76
|
+
<li class="next"><span class='object_link'><a href="StateList.html" title="Lims::Core::Persistence::StateList (class)">StateList</a></span></li>
|
|
77
|
+
|
|
78
|
+
<li class="next">Lims::Core::Persistence::StateGroup</li>
|
|
79
|
+
|
|
80
|
+
</ul>
|
|
81
|
+
<a href="#" class="inheritanceTree">show all</a>
|
|
82
|
+
|
|
83
|
+
</dd>
|
|
84
|
+
|
|
85
|
+
|
|
86
|
+
|
|
87
|
+
|
|
88
|
+
|
|
89
|
+
|
|
90
|
+
|
|
91
|
+
|
|
92
|
+
|
|
93
|
+
<dt class="r2 last">Defined in:</dt>
|
|
94
|
+
<dd class="r2 last">lib/lims-core/persistence/state_group.rb</dd>
|
|
95
|
+
|
|
96
|
+
</dl>
|
|
97
|
+
<div class="clear"></div>
|
|
98
|
+
|
|
99
|
+
<h2>Overview</h2><div class="docstring">
|
|
100
|
+
<div class="discussion">
|
|
101
|
+
|
|
102
|
+
<p>A immutable list of <span class='object_link'><a href="ResourceState.html" title="Lims::Core::Persistence::ResourceState (class)">ResourceState</a></span>.</p>
|
|
103
|
+
|
|
104
|
+
|
|
105
|
+
</div>
|
|
106
|
+
</div>
|
|
107
|
+
<div class="tags">
|
|
108
|
+
|
|
109
|
+
|
|
110
|
+
</div>
|
|
111
|
+
|
|
112
|
+
|
|
113
|
+
|
|
114
|
+
|
|
115
|
+
|
|
116
|
+
|
|
117
|
+
<h2>Instance Attribute Summary <small>(<a href="#" class="summary_toggle">collapse</a>)</small></h2>
|
|
118
|
+
<ul class="summary">
|
|
119
|
+
|
|
120
|
+
<li class="public ">
|
|
121
|
+
<span class="summary_signature">
|
|
122
|
+
|
|
123
|
+
<a href="#persistor-instance_method" title="#persistor (instance method)">- (Object) <strong>persistor</strong> </a>
|
|
124
|
+
|
|
125
|
+
|
|
126
|
+
|
|
127
|
+
</span>
|
|
128
|
+
|
|
129
|
+
|
|
130
|
+
<span class="note title readonly">readonly</span>
|
|
131
|
+
|
|
132
|
+
|
|
133
|
+
|
|
134
|
+
|
|
135
|
+
|
|
136
|
+
|
|
137
|
+
|
|
138
|
+
|
|
139
|
+
<span class="summary_desc"><div class='inline'>
|
|
140
|
+
<p>Returns the value of attribute persistor.</p>
|
|
141
|
+
</div></span>
|
|
142
|
+
|
|
143
|
+
</li>
|
|
144
|
+
|
|
145
|
+
|
|
146
|
+
</ul>
|
|
147
|
+
|
|
148
|
+
|
|
149
|
+
|
|
150
|
+
|
|
151
|
+
|
|
152
|
+
|
|
153
|
+
|
|
154
|
+
|
|
155
|
+
|
|
156
|
+
<h2>
|
|
157
|
+
Instance Method Summary
|
|
158
|
+
<small>(<a href="#" class="summary_toggle">collapse</a>)</small>
|
|
159
|
+
</h2>
|
|
160
|
+
|
|
161
|
+
<ul class="summary">
|
|
162
|
+
|
|
163
|
+
<li class="public ">
|
|
164
|
+
<span class="summary_signature">
|
|
165
|
+
|
|
166
|
+
<a href="#destroy-instance_method" title="#destroy (instance method)">- (Object) <strong>destroy</strong> </a>
|
|
167
|
+
|
|
168
|
+
|
|
169
|
+
|
|
170
|
+
</span>
|
|
171
|
+
|
|
172
|
+
|
|
173
|
+
|
|
174
|
+
|
|
175
|
+
|
|
176
|
+
|
|
177
|
+
|
|
178
|
+
|
|
179
|
+
<span class="summary_desc"><div class='inline'>
|
|
180
|
+
<p>destroy because delete exists already for a Set.</p>
|
|
181
|
+
</div></span>
|
|
182
|
+
|
|
183
|
+
</li>
|
|
184
|
+
|
|
185
|
+
|
|
186
|
+
<li class="public ">
|
|
187
|
+
<span class="summary_signature">
|
|
188
|
+
|
|
189
|
+
<a href="#groups-instance_method" title="#groups (instance method)">- (Object) <strong>groups</strong> </a>
|
|
190
|
+
|
|
191
|
+
|
|
192
|
+
|
|
193
|
+
</span>
|
|
194
|
+
|
|
195
|
+
|
|
196
|
+
|
|
197
|
+
|
|
198
|
+
|
|
199
|
+
|
|
200
|
+
|
|
201
|
+
|
|
202
|
+
<span class="summary_desc"><div class='inline'></div></span>
|
|
203
|
+
|
|
204
|
+
</li>
|
|
205
|
+
|
|
206
|
+
|
|
207
|
+
<li class="public ">
|
|
208
|
+
<span class="summary_signature">
|
|
209
|
+
|
|
210
|
+
<a href="#initialize-instance_method" title="#initialize (instance method)">- (StateGroup) <strong>initialize</strong>(persistor, states) </a>
|
|
211
|
+
|
|
212
|
+
|
|
213
|
+
|
|
214
|
+
</span>
|
|
215
|
+
|
|
216
|
+
<span class="note title constructor">constructor</span>
|
|
217
|
+
|
|
218
|
+
|
|
219
|
+
|
|
220
|
+
|
|
221
|
+
|
|
222
|
+
|
|
223
|
+
|
|
224
|
+
|
|
225
|
+
<span class="summary_desc"><div class='inline'>
|
|
226
|
+
<p>A new instance of StateGroup.</p>
|
|
227
|
+
</div></span>
|
|
228
|
+
|
|
229
|
+
</li>
|
|
230
|
+
|
|
231
|
+
|
|
232
|
+
<li class="public ">
|
|
233
|
+
<span class="summary_signature">
|
|
234
|
+
|
|
235
|
+
<a href="#load-instance_method" title="#load (instance method)">- (Object) <strong>load</strong>(*params) </a>
|
|
236
|
+
|
|
237
|
+
|
|
238
|
+
|
|
239
|
+
</span>
|
|
240
|
+
|
|
241
|
+
|
|
242
|
+
|
|
243
|
+
|
|
244
|
+
|
|
245
|
+
|
|
246
|
+
|
|
247
|
+
|
|
248
|
+
<span class="summary_desc"><div class='inline'></div></span>
|
|
249
|
+
|
|
250
|
+
</li>
|
|
251
|
+
|
|
252
|
+
|
|
253
|
+
<li class="public ">
|
|
254
|
+
<span class="summary_signature">
|
|
255
|
+
|
|
256
|
+
<a href="#new-instance_method" title="#new (instance method)">- (Object) <strong>new</strong>(&block) </a>
|
|
257
|
+
|
|
258
|
+
|
|
259
|
+
|
|
260
|
+
</span>
|
|
261
|
+
|
|
262
|
+
|
|
263
|
+
|
|
264
|
+
|
|
265
|
+
|
|
266
|
+
|
|
267
|
+
|
|
268
|
+
|
|
269
|
+
<span class="summary_desc"><div class='inline'></div></span>
|
|
270
|
+
|
|
271
|
+
</li>
|
|
272
|
+
|
|
273
|
+
|
|
274
|
+
<li class="public ">
|
|
275
|
+
<span class="summary_signature">
|
|
276
|
+
|
|
277
|
+
<a href="#save-instance_method" title="#save (instance method)">- (Object) <strong>save</strong> </a>
|
|
278
|
+
|
|
279
|
+
|
|
280
|
+
|
|
281
|
+
</span>
|
|
282
|
+
|
|
283
|
+
|
|
284
|
+
|
|
285
|
+
|
|
286
|
+
|
|
287
|
+
|
|
288
|
+
|
|
289
|
+
|
|
290
|
+
<span class="summary_desc"><div class='inline'></div></span>
|
|
291
|
+
|
|
292
|
+
</li>
|
|
293
|
+
|
|
294
|
+
|
|
295
|
+
</ul>
|
|
296
|
+
|
|
297
|
+
|
|
298
|
+
|
|
299
|
+
|
|
300
|
+
|
|
301
|
+
|
|
302
|
+
|
|
303
|
+
|
|
304
|
+
|
|
305
|
+
|
|
306
|
+
<h3 class="inherited">Methods inherited from <span class='object_link'><a href="StateList.html" title="Lims::Core::Persistence::StateList (class)">StateList</a></span></h3>
|
|
307
|
+
<p class="inherited"><span class='object_link'><a href="StateList.html#reset_status-instance_method" title="Lims::Core::Persistence::StateList#reset_status (method)">#reset_status</a></span></p>
|
|
308
|
+
|
|
309
|
+
<div id="constructor_details" class="method_details_list">
|
|
310
|
+
<h2>Constructor Details</h2>
|
|
311
|
+
|
|
312
|
+
<div class="method_details first">
|
|
313
|
+
<p class="signature first" id="initialize-instance_method">
|
|
314
|
+
|
|
315
|
+
- (<tt><span class='object_link'><a href="" title="Lims::Core::Persistence::StateGroup (class)">StateGroup</a></span></tt>) <strong>initialize</strong>(persistor, states)
|
|
316
|
+
|
|
317
|
+
|
|
318
|
+
|
|
319
|
+
</p><div class="docstring">
|
|
320
|
+
<div class="discussion">
|
|
321
|
+
|
|
322
|
+
<p>A new instance of StateGroup</p>
|
|
323
|
+
|
|
324
|
+
|
|
325
|
+
</div>
|
|
326
|
+
</div>
|
|
327
|
+
<div class="tags">
|
|
328
|
+
|
|
329
|
+
|
|
330
|
+
</div><table class="source_code">
|
|
331
|
+
<tr>
|
|
332
|
+
<td>
|
|
333
|
+
<pre class="lines">
|
|
334
|
+
|
|
335
|
+
|
|
336
|
+
8
|
|
337
|
+
9
|
|
338
|
+
10
|
|
339
|
+
11</pre>
|
|
340
|
+
</td>
|
|
341
|
+
<td>
|
|
342
|
+
<pre class="code"><span class="info file"># File 'lib/lims-core/persistence/state_group.rb', line 8</span>
|
|
343
|
+
|
|
344
|
+
<span class='kw'>def</span> <span class='id initialize'>initialize</span><span class='lparen'>(</span><span class='id persistor'>persistor</span><span class='comma'>,</span> <span class='id states'>states</span><span class='rparen'>)</span>
|
|
345
|
+
<span class='ivar'>@persistor</span> <span class='op'>=</span> <span class='id persistor'>persistor</span>
|
|
346
|
+
<span class='kw'>super</span><span class='lparen'>(</span><span class='id states'>states</span><span class='rparen'>)</span>
|
|
347
|
+
<span class='kw'>end</span></pre>
|
|
348
|
+
</td>
|
|
349
|
+
</tr>
|
|
350
|
+
</table>
|
|
351
|
+
</div>
|
|
352
|
+
|
|
353
|
+
</div>
|
|
354
|
+
|
|
355
|
+
<div id="instance_attr_details" class="attr_details">
|
|
356
|
+
<h2>Instance Attribute Details</h2>
|
|
357
|
+
|
|
358
|
+
|
|
359
|
+
<span id=""></span>
|
|
360
|
+
<span id="persistor-instance_method"></span>
|
|
361
|
+
<div class="method_details first">
|
|
362
|
+
<p class="signature first" id="persistor-instance_method">
|
|
363
|
+
|
|
364
|
+
- (<tt><span class='object_link'><a href="../../../Object.html" title="Object (class)">Object</a></span></tt>) <strong>persistor</strong> <span class="extras">(readonly)</span>
|
|
365
|
+
|
|
366
|
+
|
|
367
|
+
|
|
368
|
+
</p><div class="docstring">
|
|
369
|
+
<div class="discussion">
|
|
370
|
+
|
|
371
|
+
<p>Returns the value of attribute persistor</p>
|
|
372
|
+
|
|
373
|
+
|
|
374
|
+
</div>
|
|
375
|
+
</div>
|
|
376
|
+
<div class="tags">
|
|
377
|
+
|
|
378
|
+
|
|
379
|
+
</div><table class="source_code">
|
|
380
|
+
<tr>
|
|
381
|
+
<td>
|
|
382
|
+
<pre class="lines">
|
|
383
|
+
|
|
384
|
+
|
|
385
|
+
7
|
|
386
|
+
8
|
|
387
|
+
9</pre>
|
|
388
|
+
</td>
|
|
389
|
+
<td>
|
|
390
|
+
<pre class="code"><span class="info file"># File 'lib/lims-core/persistence/state_group.rb', line 7</span>
|
|
391
|
+
|
|
392
|
+
<span class='kw'>def</span> <span class='id persistor'>persistor</span>
|
|
393
|
+
<span class='ivar'>@persistor</span>
|
|
394
|
+
<span class='kw'>end</span></pre>
|
|
395
|
+
</td>
|
|
396
|
+
</tr>
|
|
397
|
+
</table>
|
|
398
|
+
</div>
|
|
399
|
+
|
|
400
|
+
</div>
|
|
401
|
+
|
|
402
|
+
|
|
403
|
+
<div id="instance_method_details" class="method_details_list">
|
|
404
|
+
<h2>Instance Method Details</h2>
|
|
405
|
+
|
|
406
|
+
|
|
407
|
+
<div class="method_details first">
|
|
408
|
+
<p class="signature first" id="destroy-instance_method">
|
|
409
|
+
|
|
410
|
+
- (<tt><span class='object_link'><a href="../../../Object.html" title="Object (class)">Object</a></span></tt>) <strong>destroy</strong>
|
|
411
|
+
|
|
412
|
+
|
|
413
|
+
|
|
414
|
+
</p><div class="docstring">
|
|
415
|
+
<div class="discussion">
|
|
416
|
+
|
|
417
|
+
<div class="note todo">
|
|
418
|
+
<strong>TODO:</strong>
|
|
419
|
+
<div class='inline'>
|
|
420
|
+
<p>doc</p>
|
|
421
|
+
</div>
|
|
422
|
+
</div>
|
|
423
|
+
|
|
424
|
+
|
|
425
|
+
<p>destroy because delete exists already for a Set</p>
|
|
426
|
+
|
|
427
|
+
|
|
428
|
+
</div>
|
|
429
|
+
</div>
|
|
430
|
+
<div class="tags">
|
|
431
|
+
|
|
432
|
+
|
|
433
|
+
</div><table class="source_code">
|
|
434
|
+
<tr>
|
|
435
|
+
<td>
|
|
436
|
+
<pre class="lines">
|
|
437
|
+
|
|
438
|
+
|
|
439
|
+
54
|
|
440
|
+
55
|
|
441
|
+
56
|
|
442
|
+
57
|
|
443
|
+
58
|
|
444
|
+
59
|
|
445
|
+
60
|
|
446
|
+
61
|
|
447
|
+
62
|
|
448
|
+
63
|
|
449
|
+
64
|
|
450
|
+
65
|
|
451
|
+
66
|
|
452
|
+
67
|
|
453
|
+
68
|
|
454
|
+
69
|
|
455
|
+
70
|
|
456
|
+
71
|
|
457
|
+
72
|
|
458
|
+
73
|
|
459
|
+
74
|
|
460
|
+
75
|
|
461
|
+
76
|
|
462
|
+
77
|
|
463
|
+
78</pre>
|
|
464
|
+
</td>
|
|
465
|
+
<td>
|
|
466
|
+
<pre class="code"><span class="info file"># File 'lib/lims-core/persistence/state_group.rb', line 54</span>
|
|
467
|
+
|
|
468
|
+
<span class='kw'>def</span> <span class='id destroy'>destroy</span>
|
|
469
|
+
<span class='kw'>return</span> <span class='kw'>self</span> <span class='kw'>if</span> <span class='id size'>size</span> <span class='op'>==</span> <span class='int'>0</span>
|
|
470
|
+
<span class='comment'># mark each item for deletion
|
|
471
|
+
</span> <span class='comment'># so the parents are not saved later.
|
|
472
|
+
</span> <span class='comment'># children needs to be deleted NOW to avoid
|
|
473
|
+
</span> <span class='comment'># foreign key constraint error.
|
|
474
|
+
</span> <span class='id each_with_object'>each_with_object</span><span class='lparen'>(</span><span class='const'>StateList</span><span class='period'>.</span><span class='id new'>new</span><span class='rparen'>)</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id state'>state</span><span class='comma'>,</span> <span class='id list'>list</span><span class='op'>|</span>
|
|
475
|
+
<span class='comment'># don't delete children if they've been deleted already
|
|
476
|
+
</span> <span class='kw'>next</span> <span class='kw'>if</span> <span class='id state'>state</span><span class='period'>.</span><span class='id children_saved?'>children_saved?</span>
|
|
477
|
+
<span class='id state'>state</span><span class='period'>.</span><span class='id mark_for_deletion'>mark_for_deletion</span>
|
|
478
|
+
<span class='id list'>list</span><span class='period'>.</span><span class='id merge'>merge</span><span class='lparen'>(</span><span class='id persistor'>persistor</span><span class='period'>.</span><span class='id deletable_children_for'>deletable_children_for</span><span class='lparen'>(</span><span class='id state'>state</span><span class='period'>.</span><span class='id resource'>resource</span><span class='rparen'>)</span><span class='rparen'>)</span>
|
|
479
|
+
<span class='id state'>state</span><span class='period'>.</span><span class='id children_saved!'>children_saved!</span>
|
|
480
|
+
<span class='kw'>end</span><span class='period'>.</span><span class='id destroy'>destroy</span>
|
|
481
|
+
|
|
482
|
+
|
|
483
|
+
<span class='id persistor'>persistor</span><span class='period'>.</span><span class='id bulk_delete'>bulk_delete</span><span class='lparen'>(</span><span class='kw'>self</span><span class='period'>.</span><span class='id select'>select</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id s'>s</span><span class='op'>|</span> <span class='op'>!</span><span class='id s'>s</span><span class='period'>.</span><span class='id body_saved?'>body_saved?</span> <span class='rbrace'>}</span><span class='rparen'>)</span>
|
|
484
|
+
|
|
485
|
+
<span class='id each_with_object'>each_with_object</span><span class='lparen'>(</span><span class='const'>StateList</span><span class='period'>.</span><span class='id new'>new</span><span class='rparen'>)</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id state'>state</span><span class='comma'>,</span> <span class='id list'>list</span><span class='op'>|</span>
|
|
486
|
+
<span class='kw'>next</span> <span class='kw'>if</span> <span class='id state'>state</span><span class='period'>.</span><span class='id parents_saved?'>parents_saved?</span>
|
|
487
|
+
<span class='id list'>list</span><span class='period'>.</span><span class='id merge'>merge</span><span class='lparen'>(</span><span class='id persistor'>persistor</span><span class='period'>.</span><span class='id deletable_parents_for'>deletable_parents_for</span><span class='lparen'>(</span><span class='id state'>state</span><span class='period'>.</span><span class='id resource'>resource</span><span class='rparen'>)</span><span class='rparen'>)</span>
|
|
488
|
+
<span class='id state'>state</span><span class='period'>.</span><span class='id parents_saved!'>parents_saved!</span>
|
|
489
|
+
<span class='kw'>end</span><span class='period'>.</span><span class='id destroy'>destroy</span>
|
|
490
|
+
<span class='id each'>each</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id state'>state</span><span class='op'>|</span> <span class='id state'>state</span><span class='period'>.</span><span class='id body_saved!'>body_saved!</span> <span class='rbrace'>}</span>
|
|
491
|
+
|
|
492
|
+
<span class='kw'>end</span></pre>
|
|
493
|
+
</td>
|
|
494
|
+
</tr>
|
|
495
|
+
</table>
|
|
496
|
+
</div>
|
|
497
|
+
|
|
498
|
+
<div class="method_details ">
|
|
499
|
+
<p class="signature " id="groups-instance_method">
|
|
500
|
+
|
|
501
|
+
- (<tt><span class='object_link'><a href="../../../Object.html" title="Object (class)">Object</a></span></tt>) <strong>groups</strong>
|
|
502
|
+
|
|
503
|
+
|
|
504
|
+
|
|
505
|
+
</p><table class="source_code">
|
|
506
|
+
<tr>
|
|
507
|
+
<td>
|
|
508
|
+
<pre class="lines">
|
|
509
|
+
|
|
510
|
+
|
|
511
|
+
12
|
|
512
|
+
13
|
|
513
|
+
14</pre>
|
|
514
|
+
</td>
|
|
515
|
+
<td>
|
|
516
|
+
<pre class="code"><span class="info file"># File 'lib/lims-core/persistence/state_group.rb', line 12</span>
|
|
517
|
+
|
|
518
|
+
<span class='kw'>def</span> <span class='id groups'>groups</span>
|
|
519
|
+
<span class='lbracket'>[</span><span class='kw'>self</span><span class='rbracket'>]</span>
|
|
520
|
+
<span class='kw'>end</span></pre>
|
|
521
|
+
</td>
|
|
522
|
+
</tr>
|
|
523
|
+
</table>
|
|
524
|
+
</div>
|
|
525
|
+
|
|
526
|
+
<div class="method_details ">
|
|
527
|
+
<p class="signature " id="load-instance_method">
|
|
528
|
+
|
|
529
|
+
- (<tt><span class='object_link'><a href="../../../Object.html" title="Object (class)">Object</a></span></tt>) <strong>load</strong>(*params)
|
|
530
|
+
|
|
531
|
+
|
|
532
|
+
|
|
533
|
+
</p><table class="source_code">
|
|
534
|
+
<tr>
|
|
535
|
+
<td>
|
|
536
|
+
<pre class="lines">
|
|
537
|
+
|
|
538
|
+
|
|
539
|
+
80
|
|
540
|
+
81
|
|
541
|
+
82
|
|
542
|
+
83
|
|
543
|
+
84
|
|
544
|
+
85
|
|
545
|
+
86
|
|
546
|
+
87
|
|
547
|
+
88
|
|
548
|
+
89
|
|
549
|
+
90
|
|
550
|
+
91
|
|
551
|
+
92
|
|
552
|
+
93
|
|
553
|
+
94</pre>
|
|
554
|
+
</td>
|
|
555
|
+
<td>
|
|
556
|
+
<pre class="code"><span class="info file"># File 'lib/lims-core/persistence/state_group.rb', line 80</span>
|
|
557
|
+
|
|
558
|
+
<span class='kw'>def</span> <span class='id load'>load</span><span class='lparen'>(</span><span class='op'>*</span><span class='id params'>params</span><span class='rparen'>)</span>
|
|
559
|
+
<span class='id to_load'>to_load</span> <span class='op'>=</span> <span class='id select'>select</span><span class='lparen'>(</span><span class='op'>&</span><span class='symbol'>:to_load?</span><span class='rparen'>)</span>
|
|
560
|
+
<span class='id all_parents'>all_parents</span> <span class='op'>=</span> <span class='const'>StateList</span><span class='period'>.</span><span class='id new'>new</span>
|
|
561
|
+
<span class='id attributes_list'>attributes_list</span> <span class='op'>=</span> <span class='lbracket'>[</span><span class='rbracket'>]</span>
|
|
562
|
+
<span class='id persistor'>persistor</span><span class='period'>.</span><span class='id bulk_load'>bulk_load</span><span class='lparen'>(</span><span class='id to_load'>to_load</span><span class='comma'>,</span> <span class='op'>*</span><span class='id params'>params</span><span class='rparen'>)</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id att'>att</span><span class='op'>|</span>
|
|
563
|
+
<span class='id all_parents'>all_parents</span><span class='period'>.</span><span class='id merge'>merge</span><span class='lparen'>(</span><span class='id persistor'>persistor</span><span class='period'>.</span><span class='id parents_for_attributes'>parents_for_attributes</span><span class='lparen'>(</span><span class='id att'>att</span><span class='rparen'>)</span><span class='rparen'>)</span>
|
|
564
|
+
<span class='id attributes_list'>attributes_list</span> <span class='op'><<</span> <span class='id att'>att</span>
|
|
565
|
+
<span class='kw'>end</span>
|
|
566
|
+
<span class='id all_parents'>all_parents</span><span class='period'>.</span><span class='id load'>load</span><span class='lparen'>(</span><span class='op'>*</span><span class='id params'>params</span><span class='rparen'>)</span>
|
|
567
|
+
<span class='id attributes_list'>attributes_list</span><span class='period'>.</span><span class='id map'>map</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id att'>att</span><span class='op'>|</span>
|
|
568
|
+
<span class='id persistor'>persistor</span><span class='period'>.</span><span class='id new_from_attributes'>new_from_attributes</span><span class='lparen'>(</span><span class='id att'>att</span><span class='rparen'>)</span>
|
|
569
|
+
<span class='kw'>end</span>
|
|
570
|
+
<span class='id persistor'>persistor</span><span class='period'>.</span><span class='id load_children'>load_children</span><span class='lparen'>(</span><span class='kw'>self</span><span class='comma'>,</span> <span class='op'>*</span><span class='id params'>params</span><span class='rparen'>)</span>
|
|
571
|
+
<span class='kw'>self</span>
|
|
572
|
+
<span class='kw'>end</span></pre>
|
|
573
|
+
</td>
|
|
574
|
+
</tr>
|
|
575
|
+
</table>
|
|
576
|
+
</div>
|
|
577
|
+
|
|
578
|
+
<div class="method_details ">
|
|
579
|
+
<p class="signature " id="new-instance_method">
|
|
580
|
+
|
|
581
|
+
- (<tt><span class='object_link'><a href="../../../Object.html" title="Object (class)">Object</a></span></tt>) <strong>new</strong>(&block)
|
|
582
|
+
|
|
583
|
+
|
|
584
|
+
|
|
585
|
+
</p><table class="source_code">
|
|
586
|
+
<tr>
|
|
587
|
+
<td>
|
|
588
|
+
<pre class="lines">
|
|
589
|
+
|
|
590
|
+
|
|
591
|
+
16
|
|
592
|
+
17
|
|
593
|
+
18</pre>
|
|
594
|
+
</td>
|
|
595
|
+
<td>
|
|
596
|
+
<pre class="code"><span class="info file"># File 'lib/lims-core/persistence/state_group.rb', line 16</span>
|
|
597
|
+
|
|
598
|
+
<span class='kw'>def</span> <span class='id new'>new</span><span class='lparen'>(</span><span class='op'>&</span><span class='id block'>block</span><span class='rparen'>)</span>
|
|
599
|
+
<span class='kw'>self</span><span class='period'>.</span><span class='id class'>class</span><span class='period'>.</span><span class='id new'>new</span><span class='lparen'>(</span><span class='kw'>self</span><span class='period'>.</span><span class='id persistor'>persistor</span><span class='comma'>,</span> <span class='id block'>block</span><span class='period'>.</span><span class='id call'>call</span><span class='rparen'>)</span>
|
|
600
|
+
<span class='kw'>end</span></pre>
|
|
601
|
+
</td>
|
|
602
|
+
</tr>
|
|
603
|
+
</table>
|
|
604
|
+
</div>
|
|
605
|
+
|
|
606
|
+
<div class="method_details ">
|
|
607
|
+
<p class="signature " id="save-instance_method">
|
|
608
|
+
|
|
609
|
+
- (<tt><span class='object_link'><a href="../../../Object.html" title="Object (class)">Object</a></span></tt>) <strong>save</strong>
|
|
610
|
+
|
|
611
|
+
|
|
612
|
+
|
|
613
|
+
</p><table class="source_code">
|
|
614
|
+
<tr>
|
|
615
|
+
<td>
|
|
616
|
+
<pre class="lines">
|
|
617
|
+
|
|
618
|
+
|
|
619
|
+
20
|
|
620
|
+
21
|
|
621
|
+
22
|
|
622
|
+
23
|
|
623
|
+
24
|
|
624
|
+
25
|
|
625
|
+
26
|
|
626
|
+
27
|
|
627
|
+
28
|
|
628
|
+
29
|
|
629
|
+
30
|
|
630
|
+
31
|
|
631
|
+
32
|
|
632
|
+
33
|
|
633
|
+
34
|
|
634
|
+
35
|
|
635
|
+
36
|
|
636
|
+
37
|
|
637
|
+
38
|
|
638
|
+
39
|
|
639
|
+
40
|
|
640
|
+
41
|
|
641
|
+
42
|
|
642
|
+
43
|
|
643
|
+
44
|
|
644
|
+
45
|
|
645
|
+
46
|
|
646
|
+
47
|
|
647
|
+
48
|
|
648
|
+
49
|
|
649
|
+
50</pre>
|
|
650
|
+
</td>
|
|
651
|
+
<td>
|
|
652
|
+
<pre class="code"><span class="info file"># File 'lib/lims-core/persistence/state_group.rb', line 20</span>
|
|
653
|
+
|
|
654
|
+
<span class='kw'>def</span> <span class='id save'>save</span>
|
|
655
|
+
<span class='comment'># @todo method for that.
|
|
656
|
+
</span> <span class='id all_parents'>all_parents</span> <span class='op'>=</span> <span class='const'>StateList</span><span class='period'>.</span><span class='id new'>new</span>
|
|
657
|
+
<span class='id each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id state'>state</span><span class='op'>|</span>
|
|
658
|
+
<span class='kw'>next</span> <span class='kw'>if</span> <span class='id state'>state</span><span class='period'>.</span><span class='id resource'>resource</span> <span class='op'>==</span> <span class='kw'>nil</span> <span class='kw'>or</span> <span class='id state'>state</span><span class='period'>.</span><span class='id to_delete'>to_delete</span>
|
|
659
|
+
<span class='id state'>state</span><span class='period'>.</span><span class='id parents!'>parents!</span><span class='period'>.</span><span class='id andtap'>andtap</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id parents'>parents</span><span class='op'>|</span>
|
|
660
|
+
<span class='id all_parents'>all_parents</span><span class='period'>.</span><span class='id merge'>merge</span><span class='lparen'>(</span><span class='id parents'>parents</span><span class='rparen'>)</span>
|
|
661
|
+
<span class='kw'>end</span>
|
|
662
|
+
<span class='kw'>end</span>
|
|
663
|
+
|
|
664
|
+
<span class='id all_parents'>all_parents</span><span class='period'>.</span><span class='id save'>save</span>
|
|
665
|
+
|
|
666
|
+
<span class='id persistor'>persistor</span><span class='period'>.</span><span class='id purge_invalid_object'>purge_invalid_object</span>
|
|
667
|
+
|
|
668
|
+
<span class='comment'># split by status
|
|
669
|
+
</span> <span class='id group_by'>group_by</span><span class='lparen'>(</span><span class='op'>&</span><span class='symbol'>:save_action</span><span class='rparen'>)</span><span class='period'>.</span><span class='id tap'>tap</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id groups'>groups</span><span class='op'>|</span>
|
|
670
|
+
<span class='id groups'>groups</span><span class='lbracket'>[</span><span class='symbol'>:delete</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id andtap'>andtap</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id group'>group</span><span class='op'>|</span> <span class='const'>StateGroup</span><span class='period'>.</span><span class='id new'>new</span><span class='lparen'>(</span><span class='id persistor'>persistor</span><span class='comma'>,</span> <span class='id group'>group</span><span class='rparen'>)</span><span class='period'>.</span><span class='id destroy'>destroy</span> <span class='rbrace'>}</span>
|
|
671
|
+
<span class='id groups'>groups</span><span class='lbracket'>[</span><span class='symbol'>:update</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id andtap'>andtap</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id group'>group</span><span class='op'>|</span> <span class='id persistor'>persistor</span><span class='period'>.</span><span class='id bulk_update'>bulk_update</span><span class='lparen'>(</span><span class='id group'>group</span><span class='rparen'>)</span> <span class='rbrace'>}</span>
|
|
672
|
+
<span class='id groups'>groups</span><span class='lbracket'>[</span><span class='symbol'>:insert</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id andtap'>andtap</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id group'>group</span><span class='op'>|</span> <span class='id persistor'>persistor</span><span class='period'>.</span><span class='id bulk_insert'>bulk_insert</span><span class='lparen'>(</span><span class='id group'>group</span><span class='rparen'>)</span> <span class='rbrace'>}</span>
|
|
673
|
+
<span class='kw'>end</span>
|
|
674
|
+
|
|
675
|
+
<span class='id all_children'>all_children</span> <span class='op'>=</span> <span class='const'>StateList</span><span class='period'>.</span><span class='id new'>new</span>
|
|
676
|
+
<span class='id each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id state'>state</span><span class='op'>|</span>
|
|
677
|
+
<span class='kw'>next</span> <span class='kw'>unless</span> <span class='id state'>state</span><span class='period'>.</span><span class='id resource'>resource</span>
|
|
678
|
+
<span class='id state'>state</span><span class='period'>.</span><span class='id body_saved!'>body_saved!</span>
|
|
679
|
+
<span class='id state'>state</span><span class='period'>.</span><span class='id children!'>children!</span><span class='period'>.</span><span class='id andtap'>andtap</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id children'>children</span><span class='op'>|</span>
|
|
680
|
+
<span class='id all_children'>all_children</span><span class='period'>.</span><span class='id merge'>merge</span><span class='lparen'>(</span><span class='id children'>children</span><span class='rparen'>)</span>
|
|
681
|
+
<span class='kw'>end</span>
|
|
682
|
+
<span class='kw'>end</span>
|
|
683
|
+
<span class='id all_children'>all_children</span><span class='period'>.</span><span class='id save'>save</span>
|
|
684
|
+
<span class='kw'>end</span></pre>
|
|
685
|
+
</td>
|
|
686
|
+
</tr>
|
|
687
|
+
</table>
|
|
688
|
+
</div>
|
|
689
|
+
|
|
690
|
+
</div>
|
|
691
|
+
|
|
692
|
+
</div>
|
|
693
|
+
|
|
694
|
+
|
|
695
|
+
</body>
|
|
696
|
+
</html>
|