ae_easy-core 0.1.9 → 0.2.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.
Files changed (53) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +1 -1
  3. data/ae_easy-core.gemspec +1 -1
  4. data/doc/AeEasy.html +116 -116
  5. data/doc/AeEasy/Core.html +1217 -1217
  6. data/doc/AeEasy/Core/Config.html +284 -284
  7. data/doc/AeEasy/Core/Exception.html +116 -116
  8. data/doc/AeEasy/Core/Exception/OutdatedError.html +132 -132
  9. data/doc/AeEasy/Core/Helper.html +116 -116
  10. data/doc/AeEasy/Core/Helper/Cookie.html +797 -797
  11. data/doc/AeEasy/Core/Mock.html +231 -231
  12. data/doc/AeEasy/Core/Mock/FakeDb.html +3133 -2729
  13. data/doc/AeEasy/Core/Mock/FakeExecutor.html +2852 -2259
  14. data/doc/AeEasy/Core/Mock/FakeFinisher.html +160 -0
  15. data/doc/AeEasy/Core/Mock/FakeParser.html +157 -157
  16. data/doc/AeEasy/Core/Mock/FakeSeeder.html +157 -157
  17. data/doc/AeEasy/Core/Plugin.html +116 -116
  18. data/doc/AeEasy/Core/Plugin/CollectionVault.html +262 -262
  19. data/doc/AeEasy/Core/Plugin/ConfigBehavior.html +471 -471
  20. data/doc/AeEasy/Core/Plugin/ContextIntegrator.html +365 -365
  21. data/doc/AeEasy/Core/Plugin/Executor.html +243 -243
  22. data/doc/AeEasy/Core/Plugin/ExecutorBehavior.html +299 -299
  23. data/doc/AeEasy/Core/Plugin/Finisher.html +265 -0
  24. data/doc/AeEasy/Core/Plugin/FinisherBehavior.html +142 -0
  25. data/doc/AeEasy/Core/Plugin/InitializeHook.html +198 -198
  26. data/doc/AeEasy/Core/Plugin/Parser.html +254 -254
  27. data/doc/AeEasy/Core/Plugin/ParserBehavior.html +216 -216
  28. data/doc/AeEasy/Core/Plugin/Seeder.html +594 -594
  29. data/doc/AeEasy/Core/Plugin/SeederBehavior.html +141 -141
  30. data/doc/AeEasy/Core/SmartCollection.html +804 -804
  31. data/doc/_index.html +363 -342
  32. data/doc/class_list.html +51 -51
  33. data/doc/css/full_list.css +58 -58
  34. data/doc/css/style.css +496 -496
  35. data/doc/file.README.html +70 -70
  36. data/doc/file_list.html +56 -56
  37. data/doc/frames.html +17 -17
  38. data/doc/index.html +70 -70
  39. data/doc/js/app.js +303 -292
  40. data/doc/js/full_list.js +216 -216
  41. data/doc/js/jquery.js +3 -3
  42. data/doc/method_list.html +939 -851
  43. data/doc/top-level-namespace.html +109 -109
  44. data/lib/ae_easy/core/mock.rb +1 -0
  45. data/lib/ae_easy/core/mock/fake_db.rb +67 -1
  46. data/lib/ae_easy/core/mock/fake_executor.rb +61 -0
  47. data/lib/ae_easy/core/mock/fake_finisher.rb +28 -0
  48. data/lib/ae_easy/core/mock/fake_parser.rb +3 -1
  49. data/lib/ae_easy/core/plugin.rb +2 -0
  50. data/lib/ae_easy/core/plugin/finisher.rb +19 -0
  51. data/lib/ae_easy/core/plugin/finisher_behavior.rb +9 -0
  52. data/lib/ae_easy/core/version.rb +1 -1
  53. metadata +10 -4
@@ -1,142 +1,142 @@
1
- <!DOCTYPE html>
2
- <html>
3
- <head>
4
- <meta charset="utf-8">
5
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
- <title>
7
- Module: AeEasy::Core::Plugin::SeederBehavior
8
-
9
- &mdash; Documentation by YARD 0.9.18
10
-
11
- </title>
12
-
13
- <link rel="stylesheet" href="../../../css/style.css" type="text/css" charset="utf-8" />
14
-
15
- <link rel="stylesheet" href="../../../css/common.css" type="text/css" charset="utf-8" />
16
-
17
- <script type="text/javascript" charset="utf-8">
18
- pathId = "AeEasy::Core::Plugin::SeederBehavior";
19
- relpath = '../../../';
20
- </script>
21
-
22
-
23
- <script type="text/javascript" charset="utf-8" src="../../../js/jquery.js"></script>
24
-
25
- <script type="text/javascript" charset="utf-8" src="../../../js/app.js"></script>
26
-
27
-
28
- </head>
29
- <body>
30
- <div class="nav_wrap">
31
- <iframe id="nav" src="../../../class_list.html?1"></iframe>
32
- <div id="resizer"></div>
33
- </div>
34
-
35
- <div id="main" tabindex="-1">
36
- <div id="header">
37
- <div id="menu">
38
-
39
- <a href="../../../_index.html">Index (S)</a> &raquo;
40
- <span class='title'><span class='object_link'><a href="../../../AeEasy.html" title="AeEasy (module)">AeEasy</a></span></span> &raquo; <span class='title'><span class='object_link'><a href="../../Core.html" title="AeEasy::Core (module)">Core</a></span></span> &raquo; <span class='title'><span class='object_link'><a href="../Plugin.html" title="AeEasy::Core::Plugin (module)">Plugin</a></span></span>
41
- &raquo;
42
- <span class="title">SeederBehavior</span>
43
-
44
- </div>
45
-
46
- <div id="search">
47
-
48
- <a class="full_list_link" id="class_list_link"
49
- href="../../../class_list.html">
50
-
51
- <svg width="24" height="24">
52
- <rect x="0" y="4" width="24" height="4" rx="1" ry="1"></rect>
53
- <rect x="0" y="12" width="24" height="4" rx="1" ry="1"></rect>
54
- <rect x="0" y="20" width="24" height="4" rx="1" ry="1"></rect>
55
- </svg>
56
- </a>
57
-
58
- </div>
59
- <div class="clear"></div>
60
- </div>
61
-
62
- <div id="content"><h1>Module: AeEasy::Core::Plugin::SeederBehavior
63
-
64
-
65
-
66
- </h1>
67
- <div class="box_info">
68
-
69
-
70
-
71
-
72
-
73
-
74
- <dl>
75
- <dt>Includes:</dt>
76
- <dd><span class='object_link'><a href="ExecutorBehavior.html" title="AeEasy::Core::Plugin::ExecutorBehavior (module)">ExecutorBehavior</a></span></dd>
77
- </dl>
78
-
79
-
80
-
81
-
82
- <dl>
83
- <dt>Included in:</dt>
84
- <dd><span class='object_link'><a href="Seeder.html" title="AeEasy::Core::Plugin::Seeder (module)">Seeder</a></span></dd>
85
- </dl>
86
-
87
-
88
-
89
- <dl>
90
- <dt>Defined in:</dt>
91
- <dd>lib/ae_easy/core/plugin/seeder_behavior.rb</dd>
92
- </dl>
93
-
94
- </div>
95
-
96
-
97
-
98
-
99
-
100
-
101
-
102
- <h2>Instance Attribute Summary</h2>
103
-
104
- <h3 class="inherited">Attributes included from <span class='object_link'><a href="ContextIntegrator.html" title="AeEasy::Core::Plugin::ContextIntegrator (module)">ContextIntegrator</a></span></h3>
105
- <p class="inherited"><span class='object_link'><a href="ContextIntegrator.html#context-instance_method" title="AeEasy::Core::Plugin::ContextIntegrator#context (method)">#context</a></span></p>
106
-
107
-
108
-
109
-
110
-
111
-
112
-
113
-
114
-
115
- <h2>Method Summary</h2>
116
-
117
- <h3 class="inherited">Methods included from <span class='object_link'><a href="ExecutorBehavior.html" title="AeEasy::Core::Plugin::ExecutorBehavior (module)">ExecutorBehavior</a></span></h3>
118
- <p class="inherited"><span class='object_link'><a href="ExecutorBehavior.html#enqueue-instance_method" title="AeEasy::Core::Plugin::ExecutorBehavior#enqueue (method)">#enqueue</a></span>, <span class='object_link'><a href="ExecutorBehavior.html#save-instance_method" title="AeEasy::Core::Plugin::ExecutorBehavior#save (method)">#save</a></span></p>
119
-
120
-
121
-
122
-
123
-
124
-
125
-
126
-
127
-
128
- <h3 class="inherited">Methods included from <span class='object_link'><a href="ContextIntegrator.html" title="AeEasy::Core::Plugin::ContextIntegrator (module)">ContextIntegrator</a></span></h3>
129
- <p class="inherited"><span class='object_link'><a href="ContextIntegrator.html#initialize_hook_core_context_integrator-instance_method" title="AeEasy::Core::Plugin::ContextIntegrator#initialize_hook_core_context_integrator (method)">#initialize_hook_core_context_integrator</a></span>, <span class='object_link'><a href="ContextIntegrator.html#mock_context-instance_method" title="AeEasy::Core::Plugin::ContextIntegrator#mock_context (method)">#mock_context</a></span></p>
130
-
131
-
132
- </div>
133
-
134
- <div id="footer">
135
- Generated on Mon Mar 11 20:05:17 2019 by
136
- <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
137
- 0.9.18 (ruby-2.5.3).
138
- </div>
139
-
140
- </div>
141
- </body>
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>
7
+ Module: AeEasy::Core::Plugin::SeederBehavior
8
+
9
+ &mdash; Documentation by YARD 0.9.20
10
+
11
+ </title>
12
+
13
+ <link rel="stylesheet" href="../../../css/style.css" type="text/css" charset="utf-8" />
14
+
15
+ <link rel="stylesheet" href="../../../css/common.css" type="text/css" charset="utf-8" />
16
+
17
+ <script type="text/javascript" charset="utf-8">
18
+ pathId = "AeEasy::Core::Plugin::SeederBehavior";
19
+ relpath = '../../../';
20
+ </script>
21
+
22
+
23
+ <script type="text/javascript" charset="utf-8" src="../../../js/jquery.js"></script>
24
+
25
+ <script type="text/javascript" charset="utf-8" src="../../../js/app.js"></script>
26
+
27
+
28
+ </head>
29
+ <body>
30
+ <div class="nav_wrap">
31
+ <iframe id="nav" src="../../../class_list.html?1"></iframe>
32
+ <div id="resizer"></div>
33
+ </div>
34
+
35
+ <div id="main" tabindex="-1">
36
+ <div id="header">
37
+ <div id="menu">
38
+
39
+ <a href="../../../_index.html">Index (S)</a> &raquo;
40
+ <span class='title'><span class='object_link'><a href="../../../AeEasy.html" title="AeEasy (module)">AeEasy</a></span></span> &raquo; <span class='title'><span class='object_link'><a href="../../Core.html" title="AeEasy::Core (module)">Core</a></span></span> &raquo; <span class='title'><span class='object_link'><a href="../Plugin.html" title="AeEasy::Core::Plugin (module)">Plugin</a></span></span>
41
+ &raquo;
42
+ <span class="title">SeederBehavior</span>
43
+
44
+ </div>
45
+
46
+ <div id="search">
47
+
48
+ <a class="full_list_link" id="class_list_link"
49
+ href="../../../class_list.html">
50
+
51
+ <svg width="24" height="24">
52
+ <rect x="0" y="4" width="24" height="4" rx="1" ry="1"></rect>
53
+ <rect x="0" y="12" width="24" height="4" rx="1" ry="1"></rect>
54
+ <rect x="0" y="20" width="24" height="4" rx="1" ry="1"></rect>
55
+ </svg>
56
+ </a>
57
+
58
+ </div>
59
+ <div class="clear"></div>
60
+ </div>
61
+
62
+ <div id="content"><h1>Module: AeEasy::Core::Plugin::SeederBehavior
63
+
64
+
65
+
66
+ </h1>
67
+ <div class="box_info">
68
+
69
+
70
+
71
+
72
+
73
+
74
+ <dl>
75
+ <dt>Includes:</dt>
76
+ <dd><span class='object_link'><a href="ExecutorBehavior.html" title="AeEasy::Core::Plugin::ExecutorBehavior (module)">ExecutorBehavior</a></span></dd>
77
+ </dl>
78
+
79
+
80
+
81
+
82
+ <dl>
83
+ <dt>Included in:</dt>
84
+ <dd><span class='object_link'><a href="Seeder.html" title="AeEasy::Core::Plugin::Seeder (module)">Seeder</a></span></dd>
85
+ </dl>
86
+
87
+
88
+
89
+ <dl>
90
+ <dt>Defined in:</dt>
91
+ <dd>lib/ae_easy/core/plugin/seeder_behavior.rb</dd>
92
+ </dl>
93
+
94
+ </div>
95
+
96
+
97
+
98
+
99
+
100
+
101
+
102
+ <h2>Instance Attribute Summary</h2>
103
+
104
+ <h3 class="inherited">Attributes included from <span class='object_link'><a href="ContextIntegrator.html" title="AeEasy::Core::Plugin::ContextIntegrator (module)">ContextIntegrator</a></span></h3>
105
+ <p class="inherited"><span class='object_link'><a href="ContextIntegrator.html#context-instance_method" title="AeEasy::Core::Plugin::ContextIntegrator#context (method)">#context</a></span></p>
106
+
107
+
108
+
109
+
110
+
111
+
112
+
113
+
114
+
115
+ <h2>Method Summary</h2>
116
+
117
+ <h3 class="inherited">Methods included from <span class='object_link'><a href="ExecutorBehavior.html" title="AeEasy::Core::Plugin::ExecutorBehavior (module)">ExecutorBehavior</a></span></h3>
118
+ <p class="inherited"><span class='object_link'><a href="ExecutorBehavior.html#enqueue-instance_method" title="AeEasy::Core::Plugin::ExecutorBehavior#enqueue (method)">#enqueue</a></span>, <span class='object_link'><a href="ExecutorBehavior.html#save-instance_method" title="AeEasy::Core::Plugin::ExecutorBehavior#save (method)">#save</a></span></p>
119
+
120
+
121
+
122
+
123
+
124
+
125
+
126
+
127
+
128
+ <h3 class="inherited">Methods included from <span class='object_link'><a href="ContextIntegrator.html" title="AeEasy::Core::Plugin::ContextIntegrator (module)">ContextIntegrator</a></span></h3>
129
+ <p class="inherited"><span class='object_link'><a href="ContextIntegrator.html#initialize_hook_core_context_integrator-instance_method" title="AeEasy::Core::Plugin::ContextIntegrator#initialize_hook_core_context_integrator (method)">#initialize_hook_core_context_integrator</a></span>, <span class='object_link'><a href="ContextIntegrator.html#mock_context-instance_method" title="AeEasy::Core::Plugin::ContextIntegrator#mock_context (method)">#mock_context</a></span></p>
130
+
131
+
132
+ </div>
133
+
134
+ <div id="footer">
135
+ Generated on Fri Sep 27 02:01:31 2019 by
136
+ <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
137
+ 0.9.20 (ruby-2.5.3).
138
+ </div>
139
+
140
+ </div>
141
+ </body>
142
142
  </html>
@@ -1,394 +1,394 @@
1
- <!DOCTYPE html>
2
- <html>
3
- <head>
4
- <meta charset="utf-8">
5
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
- <title>
7
- Class: AeEasy::Core::SmartCollection
8
-
9
- &mdash; Documentation by YARD 0.9.18
10
-
11
- </title>
12
-
13
- <link rel="stylesheet" href="../../css/style.css" type="text/css" charset="utf-8" />
14
-
15
- <link rel="stylesheet" href="../../css/common.css" type="text/css" charset="utf-8" />
16
-
17
- <script type="text/javascript" charset="utf-8">
18
- pathId = "AeEasy::Core::SmartCollection";
19
- relpath = '../../';
20
- </script>
21
-
22
-
23
- <script type="text/javascript" charset="utf-8" src="../../js/jquery.js"></script>
24
-
25
- <script type="text/javascript" charset="utf-8" src="../../js/app.js"></script>
26
-
27
-
28
- </head>
29
- <body>
30
- <div class="nav_wrap">
31
- <iframe id="nav" src="../../class_list.html?1"></iframe>
32
- <div id="resizer"></div>
33
- </div>
34
-
35
- <div id="main" tabindex="-1">
36
- <div id="header">
37
- <div id="menu">
38
-
39
- <a href="../../_index.html">Index (S)</a> &raquo;
40
- <span class='title'><span class='object_link'><a href="../../AeEasy.html" title="AeEasy (module)">AeEasy</a></span></span> &raquo; <span class='title'><span class='object_link'><a href="../Core.html" title="AeEasy::Core (module)">Core</a></span></span>
41
- &raquo;
42
- <span class="title">SmartCollection</span>
43
-
44
- </div>
45
-
46
- <div id="search">
47
-
48
- <a class="full_list_link" id="class_list_link"
49
- href="../../class_list.html">
50
-
51
- <svg width="24" height="24">
52
- <rect x="0" y="4" width="24" height="4" rx="1" ry="1"></rect>
53
- <rect x="0" y="12" width="24" height="4" rx="1" ry="1"></rect>
54
- <rect x="0" y="20" width="24" height="4" rx="1" ry="1"></rect>
55
- </svg>
56
- </a>
57
-
58
- </div>
59
- <div class="clear"></div>
60
- </div>
61
-
62
- <div id="content"><h1>Class: AeEasy::Core::SmartCollection
63
-
64
-
65
-
66
- </h1>
67
- <div class="box_info">
68
-
69
- <dl>
70
- <dt>Inherits:</dt>
71
- <dd>
72
- <span class="inheritName">Array</span>
73
-
74
- <ul class="fullTree">
75
- <li>Object</li>
76
-
77
- <li class="next">Array</li>
78
-
79
- <li class="next">AeEasy::Core::SmartCollection</li>
80
-
81
- </ul>
82
- <a href="#" class="inheritanceTree">show all</a>
83
-
84
- </dd>
85
- </dl>
86
-
87
-
88
-
89
-
90
-
91
-
92
-
93
-
94
-
95
-
96
-
97
- <dl>
98
- <dt>Defined in:</dt>
99
- <dd>lib/ae_easy/core/smart_collection.rb</dd>
100
- </dl>
101
-
102
- </div>
103
-
104
- <h2>Overview</h2><div class="docstring">
105
- <div class="discussion">
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>
7
+ Class: AeEasy::Core::SmartCollection
8
+
9
+ &mdash; Documentation by YARD 0.9.20
10
+
11
+ </title>
12
+
13
+ <link rel="stylesheet" href="../../css/style.css" type="text/css" charset="utf-8" />
14
+
15
+ <link rel="stylesheet" href="../../css/common.css" type="text/css" charset="utf-8" />
16
+
17
+ <script type="text/javascript" charset="utf-8">
18
+ pathId = "AeEasy::Core::SmartCollection";
19
+ relpath = '../../';
20
+ </script>
21
+
22
+
23
+ <script type="text/javascript" charset="utf-8" src="../../js/jquery.js"></script>
24
+
25
+ <script type="text/javascript" charset="utf-8" src="../../js/app.js"></script>
26
+
27
+
28
+ </head>
29
+ <body>
30
+ <div class="nav_wrap">
31
+ <iframe id="nav" src="../../class_list.html?1"></iframe>
32
+ <div id="resizer"></div>
33
+ </div>
34
+
35
+ <div id="main" tabindex="-1">
36
+ <div id="header">
37
+ <div id="menu">
38
+
39
+ <a href="../../_index.html">Index (S)</a> &raquo;
40
+ <span class='title'><span class='object_link'><a href="../../AeEasy.html" title="AeEasy (module)">AeEasy</a></span></span> &raquo; <span class='title'><span class='object_link'><a href="../Core.html" title="AeEasy::Core (module)">Core</a></span></span>
41
+ &raquo;
42
+ <span class="title">SmartCollection</span>
43
+
44
+ </div>
45
+
46
+ <div id="search">
47
+
48
+ <a class="full_list_link" id="class_list_link"
49
+ href="../../class_list.html">
50
+
51
+ <svg width="24" height="24">
52
+ <rect x="0" y="4" width="24" height="4" rx="1" ry="1"></rect>
53
+ <rect x="0" y="12" width="24" height="4" rx="1" ry="1"></rect>
54
+ <rect x="0" y="20" width="24" height="4" rx="1" ry="1"></rect>
55
+ </svg>
56
+ </a>
57
+
58
+ </div>
59
+ <div class="clear"></div>
60
+ </div>
61
+
62
+ <div id="content"><h1>Class: AeEasy::Core::SmartCollection
63
+
64
+
65
+
66
+ </h1>
67
+ <div class="box_info">
68
+
69
+ <dl>
70
+ <dt>Inherits:</dt>
71
+ <dd>
72
+ <span class="inheritName">Array</span>
73
+
74
+ <ul class="fullTree">
75
+ <li>Object</li>
76
+
77
+ <li class="next">Array</li>
78
+
79
+ <li class="next">AeEasy::Core::SmartCollection</li>
80
+
81
+ </ul>
82
+ <a href="#" class="inheritanceTree">show all</a>
83
+
84
+ </dd>
85
+ </dl>
86
+
87
+
88
+
89
+
90
+
91
+
92
+
93
+
94
+
95
+
96
+
97
+ <dl>
98
+ <dt>Defined in:</dt>
99
+ <dd>lib/ae_easy/core/smart_collection.rb</dd>
100
+ </dl>
101
+
102
+ </div>
103
+
104
+ <h2>Overview</h2><div class="docstring">
105
+ <div class="discussion">
106
106
 
107
107
  <p>Smart collection capable to avoid duplicates on insert by matching id</p>
108
108
 
109
109
  <pre class="code ruby"><code class="ruby">defined fields along events.
110
110
  </code></pre>
111
-
112
-
113
- </div>
114
- </div>
115
- <div class="tags">
116
-
117
-
118
- </div>
119
-
120
- <h2>
121
- Constant Summary
122
- <small><a href="#" class="constants_summary_toggle">collapse</a></small>
123
- </h2>
124
-
125
- <dl class="constants">
126
-
127
- <dt id="EVENTS-constant" class="">EVENTS =
128
- <div class="docstring">
129
- <div class="discussion">
111
+
112
+
113
+ </div>
114
+ </div>
115
+ <div class="tags">
116
+
117
+
118
+ </div>
119
+
120
+ <h2>
121
+ Constant Summary
122
+ <small><a href="#" class="constants_summary_toggle">collapse</a></small>
123
+ </h2>
124
+
125
+ <dl class="constants">
126
+
127
+ <dt id="EVENTS-constant" class="">EVENTS =
128
+ <div class="docstring">
129
+ <div class="discussion">
130
130
 
131
131
  <p>Implemented event list.</p>
132
-
133
-
134
- </div>
135
- </div>
136
- <div class="tags">
137
-
138
-
139
- </div>
140
- </dt>
132
+
133
+
134
+ </div>
135
+ </div>
136
+ <div class="tags">
137
+
138
+
139
+ </div>
140
+ </dt>
141
141
  <dd><pre class="code"><span class='lbracket'>[</span>
142
142
  <span class='symbol'>:before_defaults</span><span class='comma'>,</span>
143
143
  <span class='symbol'>:before_match</span><span class='comma'>,</span>
144
144
  <span class='symbol'>:before_insert</span><span class='comma'>,</span>
145
145
  <span class='symbol'>:after_insert</span>
146
- <span class='rbracket'>]</span></pre></dd>
147
-
148
- </dl>
149
-
150
-
151
-
152
-
153
-
154
- <h2>Instance Attribute Summary <small><a href="#" class="summary_toggle">collapse</a></small></h2>
155
- <ul class="summary">
156
-
157
- <li class="public ">
158
- <span class="summary_signature">
159
-
160
- <a href="#defaults-instance_method" title="#defaults (instance method)">#<strong>defaults</strong> &#x21d2; Object </a>
161
-
162
-
163
-
164
- </span>
165
-
166
-
167
-
168
-
169
- <span class="note title readonly">readonly</span>
170
-
171
-
172
-
173
-
174
-
175
-
176
-
177
-
178
-
146
+ <span class='rbracket'>]</span></pre></dd>
147
+
148
+ </dl>
149
+
150
+
151
+
152
+
153
+
154
+ <h2>Instance Attribute Summary <small><a href="#" class="summary_toggle">collapse</a></small></h2>
155
+ <ul class="summary">
156
+
157
+ <li class="public ">
158
+ <span class="summary_signature">
159
+
160
+ <a href="#defaults-instance_method" title="#defaults (instance method)">#<strong>defaults</strong> &#x21d2; Object </a>
161
+
162
+
163
+
164
+ </span>
165
+
166
+
167
+
168
+
169
+ <span class="note title readonly">readonly</span>
170
+
171
+
172
+
173
+
174
+
175
+
176
+
177
+
178
+
179
179
  <span class="summary_desc"><div class='inline'>
180
180
  <p>Default fields values.</p>
181
- </div></span>
182
-
183
- </li>
184
-
185
-
186
- <li class="public ">
187
- <span class="summary_signature">
188
-
189
- <a href="#key_fields-instance_method" title="#key_fields (instance method)">#<strong>key_fields</strong> &#x21d2; Object </a>
190
-
191
-
192
-
193
- </span>
194
-
195
-
196
-
197
-
198
- <span class="note title readonly">readonly</span>
199
-
200
-
201
-
202
-
203
-
204
-
205
-
206
-
207
-
181
+ </div></span>
182
+
183
+ </li>
184
+
185
+
186
+ <li class="public ">
187
+ <span class="summary_signature">
188
+
189
+ <a href="#key_fields-instance_method" title="#key_fields (instance method)">#<strong>key_fields</strong> &#x21d2; Object </a>
190
+
191
+
192
+
193
+ </span>
194
+
195
+
196
+
197
+
198
+ <span class="note title readonly">readonly</span>
199
+
200
+
201
+
202
+
203
+
204
+
205
+
206
+
207
+
208
208
  <span class="summary_desc"><div class='inline'>
209
209
  <p>Key fields, analog to primary keys.</p>
210
- </div></span>
211
-
212
- </li>
213
-
214
-
215
- </ul>
216
-
217
-
218
-
219
-
220
-
221
- <h2>
222
- Instance Method Summary
223
- <small><a href="#" class="summary_toggle">collapse</a></small>
224
- </h2>
225
-
226
- <ul class="summary">
227
-
228
- <li class="public ">
229
- <span class="summary_signature">
230
-
231
- <a href="#<<-instance_method" title="#&lt;&lt; (instance method)">#<strong>&lt;&lt;</strong>(item) &#x21d2; Object </a>
232
-
233
-
234
-
235
- </span>
236
-
237
-
238
-
239
-
240
-
241
-
242
-
243
-
244
-
210
+ </div></span>
211
+
212
+ </li>
213
+
214
+
215
+ </ul>
216
+
217
+
218
+
219
+
220
+
221
+ <h2>
222
+ Instance Method Summary
223
+ <small><a href="#" class="summary_toggle">collapse</a></small>
224
+ </h2>
225
+
226
+ <ul class="summary">
227
+
228
+ <li class="public ">
229
+ <span class="summary_signature">
230
+
231
+ <a href="#<<-instance_method" title="#&lt;&lt; (instance method)">#<strong>&lt;&lt;</strong>(item) &#x21d2; Object </a>
232
+
233
+
234
+
235
+ </span>
236
+
237
+
238
+
239
+
240
+
241
+
242
+
243
+
244
+
245
245
  <span class="summary_desc"><div class='inline'>
246
246
  <p>Add/remplace an item avoiding duplicates.</p>
247
- </div></span>
248
-
249
- </li>
250
-
251
-
252
- <li class="public ">
253
- <span class="summary_signature">
254
-
255
- <a href="#bind_event-instance_method" title="#bind_event (instance method)">#<strong>bind_event</strong>(key, &amp;block) &#x21d2; Object </a>
256
-
257
-
258
-
259
- </span>
260
-
261
-
262
-
263
-
264
-
265
-
266
-
267
-
268
-
247
+ </div></span>
248
+
249
+ </li>
250
+
251
+
252
+ <li class="public ">
253
+ <span class="summary_signature">
254
+
255
+ <a href="#bind_event-instance_method" title="#bind_event (instance method)">#<strong>bind_event</strong>(key, &amp;block) &#x21d2; Object </a>
256
+
257
+
258
+
259
+ </span>
260
+
261
+
262
+
263
+
264
+
265
+
266
+
267
+
268
+
269
269
  <span class="summary_desc"><div class='inline'>
270
270
  <p>Add event binding by key and block.</p>
271
- </div></span>
272
-
273
- </li>
274
-
275
-
276
- <li class="public ">
277
- <span class="summary_signature">
278
-
279
- <a href="#find_match-instance_method" title="#find_match (instance method)">#<strong>find_match</strong>(filter) &#x21d2; Hash<sup>?</sup> </a>
280
-
281
-
282
-
283
- </span>
284
-
285
-
286
-
287
-
288
-
289
-
290
-
291
-
292
-
271
+ </div></span>
272
+
273
+ </li>
274
+
275
+
276
+ <li class="public ">
277
+ <span class="summary_signature">
278
+
279
+ <a href="#find_match-instance_method" title="#find_match (instance method)">#<strong>find_match</strong>(filter) &#x21d2; Hash<sup>?</sup> </a>
280
+
281
+
282
+
283
+ </span>
284
+
285
+
286
+
287
+
288
+
289
+
290
+
291
+
292
+
293
293
  <span class="summary_desc"><div class='inline'>
294
294
  <p>Find an item by matching filter keys.</p>
295
- </div></span>
296
-
297
- </li>
298
-
299
-
300
- <li class="public ">
301
- <span class="summary_signature">
302
-
303
- <a href="#initialize-instance_method" title="#initialize (instance method)">#<strong>initialize</strong>(key_fields, opts = {}) &#x21d2; SmartCollection </a>
304
-
305
-
306
-
307
- </span>
308
-
309
-
310
- <span class="note title constructor">constructor</span>
311
-
312
-
313
-
314
-
315
-
316
-
317
-
318
-
295
+ </div></span>
296
+
297
+ </li>
298
+
299
+
300
+ <li class="public ">
301
+ <span class="summary_signature">
302
+
303
+ <a href="#initialize-instance_method" title="#initialize (instance method)">#<strong>initialize</strong>(key_fields, opts = {}) &#x21d2; SmartCollection </a>
304
+
305
+
306
+
307
+ </span>
308
+
309
+
310
+ <span class="note title constructor">constructor</span>
311
+
312
+
313
+
314
+
315
+
316
+
317
+
318
+
319
319
  <span class="summary_desc"><div class='inline'>
320
320
  <p>Initialize collection.</p>
321
- </div></span>
322
-
323
- </li>
324
-
325
-
326
- <li class="public ">
327
- <span class="summary_signature">
328
-
329
- <a href="#match_keys%3F-instance_method" title="#match_keys? (instance method)">#<strong>match_keys?</strong>(item_a, item_b) &#x21d2; Boolean </a>
330
-
331
-
332
-
333
- </span>
334
-
335
-
336
-
337
-
338
-
339
-
340
-
341
-
342
-
321
+ </div></span>
322
+
323
+ </li>
324
+
325
+
326
+ <li class="public ">
327
+ <span class="summary_signature">
328
+
329
+ <a href="#match_keys%3F-instance_method" title="#match_keys? (instance method)">#<strong>match_keys?</strong>(item_a, item_b) &#x21d2; Boolean </a>
330
+
331
+
332
+
333
+ </span>
334
+
335
+
336
+
337
+
338
+
339
+
340
+
341
+
342
+
343
343
  <span class="summary_desc"><div class='inline'>
344
344
  <p>Check whenever two items keys match.</p>
345
- </div></span>
346
-
347
- </li>
348
-
349
-
350
- </ul>
351
-
352
-
353
-
354
- <div id="constructor_details" class="method_details_list">
355
- <h2>Constructor Details</h2>
356
-
357
- <div class="method_details first">
358
- <h3 class="signature first" id="initialize-instance_method">
359
-
360
- #<strong>initialize</strong>(key_fields, opts = {}) &#x21d2; <tt><span class='object_link'><a href="" title="AeEasy::Core::SmartCollection (class)">SmartCollection</a></span></tt>
361
-
362
-
363
-
364
-
365
-
366
- </h3><div class="docstring">
367
- <div class="discussion">
368
-
369
- <div class="note notetag">
370
- <strong>Note:</strong>
345
+ </div></span>
346
+
347
+ </li>
348
+
349
+
350
+ </ul>
351
+
352
+
353
+
354
+ <div id="constructor_details" class="method_details_list">
355
+ <h2>Constructor Details</h2>
356
+
357
+ <div class="method_details first">
358
+ <h3 class="signature first" id="initialize-instance_method">
359
+
360
+ #<strong>initialize</strong>(key_fields, opts = {}) &#x21d2; <tt><span class='object_link'><a href="" title="AeEasy::Core::SmartCollection (class)">SmartCollection</a></span></tt>
361
+
362
+
363
+
364
+
365
+
366
+ </h3><div class="docstring">
367
+ <div class="discussion">
368
+
369
+ <div class="note notetag">
370
+ <strong>Note:</strong>
371
371
  <div class='inline'>
372
372
  <p>Defaults will apply to missing fields and null values only.</p>
373
- </div>
374
- </div>
375
-
373
+ </div>
374
+ </div>
375
+
376
376
 
377
377
  <p>Initialize collection</p>
378
-
379
-
380
- </div>
381
- </div>
382
- <div class="tags">
383
-
384
- <div class="examples">
385
- <p class="tag_title">Examples:</p>
386
-
387
-
378
+
379
+
380
+ </div>
381
+ </div>
382
+ <div class="tags">
383
+
384
+ <div class="examples">
385
+ <p class="tag_title">Examples:</p>
386
+
387
+
388
388
  <p class="example_title"><div class='inline'>
389
389
  <p>With default values.</p>
390
- </div></p>
391
-
390
+ </div></p>
391
+
392
392
  <pre class="example code"><code><span class='id identifier rubyid_count'>count</span> <span class='op'>=</span> <span class='int'>0</span>
393
393
  <span class='id identifier rubyid_defaults'>defaults</span> <span class='op'>=</span> <span class='lbrace'>{</span>
394
394
  <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>id</span><span class='tstring_end'>&#39;</span></span> <span class='op'>=&gt;</span> <span class='id identifier rubyid_lambda'>lambda</span><span class='lbrace'>{</span><span class='op'>|</span><span class='id identifier rubyid_item'>item</span><span class='op'>|</span> <span class='id identifier rubyid_count'>count</span> <span class='op'>+=</span> <span class='int'>1</span><span class='rbrace'>}</span><span class='comma'>,</span>
@@ -409,95 +409,95 @@
409
409
  </span><span class='comment'># {&#39;id&#39; =&gt; 2, &#39;aaa&#39; =&gt; 111, &#39;bbb&#39; =&gt; &#39;Has ccc&#39;, &#39;ccc&#39; =&gt; &#39;ddd&#39;},
410
410
  </span><span class='comment'># {&#39;id&#39; =&gt; &#39;abc123&#39;, &#39;aaa&#39; =&gt; 111, &#39;bbb&#39; =&gt; &#39;No ccc&#39;},
411
411
  </span><span class='comment'># {&#39;id&#39; =&gt; 3, &#39;aaa&#39; =&gt; 111, &#39;bbb&#39; =&gt; &#39;Look mom! no ccc&#39;}
412
- </span><span class='comment'># ]</span></code></pre>
413
-
414
- </div>
415
- <p class="tag_title">Parameters:</p>
416
- <ul class="param">
417
-
418
- <li>
419
-
420
- <span class='name'>key_fields</span>
421
-
422
-
423
- <span class='type'>(<tt>Array</tt>)</span>
424
-
425
-
426
-
427
- &mdash;
412
+ </span><span class='comment'># ]</span></code></pre>
413
+
414
+ </div>
415
+ <p class="tag_title">Parameters:</p>
416
+ <ul class="param">
417
+
418
+ <li>
419
+
420
+ <span class='name'>key_fields</span>
421
+
422
+
423
+ <span class='type'>(<tt>Array</tt>)</span>
424
+
425
+
426
+
427
+ &mdash;
428
428
  <div class='inline'>
429
429
  <p>Key fields, analog to primary keys.</p>
430
- </div>
431
-
432
- </li>
433
-
434
- <li>
435
-
436
- <span class='name'>opts</span>
437
-
438
-
439
- <span class='type'>(<tt>Hash</tt>)</span>
440
-
441
-
442
- <em class="default">(defaults to: <tt>{}</tt>)</em>
443
-
444
-
445
- &mdash;
430
+ </div>
431
+
432
+ </li>
433
+
434
+ <li>
435
+
436
+ <span class='name'>opts</span>
437
+
438
+
439
+ <span class='type'>(<tt>Hash</tt>)</span>
440
+
441
+
442
+ <em class="default">(defaults to: <tt>{}</tt>)</em>
443
+
444
+
445
+ &mdash;
446
446
  <div class='inline'>
447
447
  <p>({}) Configuration options.</p>
448
- </div>
449
-
450
- </li>
451
-
452
- </ul>
453
-
454
-
455
-
456
-
457
-
458
-
459
- <p class="tag_title">Options Hash (<tt>opts</tt>):</p>
460
- <ul class="option">
461
-
462
- <li>
463
- <span class="name">:values</span>
464
- <span class="type">(<tt>Array</tt>)</span>
465
- <span class="default">
466
-
467
- &mdash; default:
468
- <tt>[]</tt>
469
-
470
- </span>
471
-
448
+ </div>
449
+
450
+ </li>
451
+
452
+ </ul>
453
+
454
+
455
+
456
+
457
+
458
+
459
+ <p class="tag_title">Options Hash (<tt>opts</tt>):</p>
460
+ <ul class="option">
461
+
462
+ <li>
463
+ <span class="name">:values</span>
464
+ <span class="type">(<tt>Array</tt>)</span>
465
+ <span class="default">
466
+
467
+ &mdash; default:
468
+ <tt>[]</tt>
469
+
470
+ </span>
471
+
472
472
  &mdash; <div class='inline'>
473
473
  <p>Initial values; will avoid duplicates on insert.</p>
474
- </div>
475
-
476
- </li>
477
-
478
- <li>
479
- <span class="name">:defaults</span>
480
- <span class="type">(<tt>Hash</tt>)</span>
481
- <span class="default">
482
-
483
- &mdash; default:
484
- <tt>{}</tt>
485
-
486
- </span>
487
-
474
+ </div>
475
+
476
+ </li>
477
+
478
+ <li>
479
+ <span class="name">:defaults</span>
480
+ <span class="type">(<tt>Hash</tt>)</span>
481
+ <span class="default">
482
+
483
+ &mdash; default:
484
+ <tt>{}</tt>
485
+
486
+ </span>
487
+
488
488
  &mdash; <div class='inline'>
489
489
  <p>Default values. `proc` values will be executed to get default value.</p>
490
- </div>
491
-
492
- </li>
493
-
494
- </ul>
495
-
496
-
497
-
498
- </div><table class="source_code">
499
- <tr>
500
- <td>
490
+ </div>
491
+
492
+ </li>
493
+
494
+ </ul>
495
+
496
+
497
+
498
+ </div><table class="source_code">
499
+ <tr>
500
+ <td>
501
501
  <pre class="lines">
502
502
 
503
503
 
@@ -506,9 +506,9 @@
506
506
  52
507
507
  53
508
508
  54
509
- 55</pre>
510
- </td>
511
- <td>
509
+ 55</pre>
510
+ </td>
511
+ <td>
512
512
  <pre class="code"><span class="info file"># File 'lib/ae_easy/core/smart_collection.rb', line 50</span>
513
513
 
514
514
  <span class='kw'>def</span> <span class='id identifier rubyid_initialize'>initialize</span> <span class='id identifier rubyid_key_fields'>key_fields</span><span class='comma'>,</span> <span class='id identifier rubyid_opts'>opts</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span>
@@ -516,133 +516,133 @@
516
516
  <span class='ivar'>@defaults</span> <span class='op'>=</span> <span class='id identifier rubyid_opts'>opts</span><span class='lbracket'>[</span><span class='symbol'>:defaults</span><span class='rbracket'>]</span> <span class='op'>||</span> <span class='lbrace'>{</span><span class='rbrace'>}</span>
517
517
  <span class='kw'>super</span> <span class='int'>0</span>
518
518
  <span class='lparen'>(</span><span class='id identifier rubyid_opts'>opts</span><span class='lbracket'>[</span><span class='symbol'>:values</span><span class='rbracket'>]</span> <span class='op'>||</span> <span class='lbracket'>[</span><span class='rbracket'>]</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span><span class='lbrace'>{</span><span class='op'>|</span><span class='id identifier rubyid_item'>item</span><span class='op'>|</span> <span class='kw'>self</span> <span class='op'>&lt;&lt;</span> <span class='id identifier rubyid_item'>item</span><span class='rbrace'>}</span>
519
- <span class='kw'>end</span></pre>
520
- </td>
521
- </tr>
522
- </table>
523
- </div>
524
-
525
- </div>
526
-
527
- <div id="instance_attr_details" class="attr_details">
528
- <h2>Instance Attribute Details</h2>
529
-
530
-
531
- <span id=""></span>
532
- <div class="method_details first">
533
- <h3 class="signature first" id="defaults-instance_method">
534
-
535
- #<strong>defaults</strong> &#x21d2; <tt>Object</tt> <span class="extras">(readonly)</span>
536
-
537
-
538
-
539
-
540
-
541
- </h3><div class="docstring">
542
- <div class="discussion">
519
+ <span class='kw'>end</span></pre>
520
+ </td>
521
+ </tr>
522
+ </table>
523
+ </div>
524
+
525
+ </div>
526
+
527
+ <div id="instance_attr_details" class="attr_details">
528
+ <h2>Instance Attribute Details</h2>
529
+
530
+
531
+ <span id=""></span>
532
+ <div class="method_details first">
533
+ <h3 class="signature first" id="defaults-instance_method">
534
+
535
+ #<strong>defaults</strong> &#x21d2; <tt>Object</tt> <span class="extras">(readonly)</span>
536
+
537
+
538
+
539
+
540
+
541
+ </h3><div class="docstring">
542
+ <div class="discussion">
543
543
 
544
544
  <p>Default fields values. Apply to missing fields and null values.</p>
545
-
546
-
547
- </div>
548
- </div>
549
- <div class="tags">
550
-
551
-
552
- </div><table class="source_code">
553
- <tr>
554
- <td>
545
+
546
+
547
+ </div>
548
+ </div>
549
+ <div class="tags">
550
+
551
+
552
+ </div><table class="source_code">
553
+ <tr>
554
+ <td>
555
555
  <pre class="lines">
556
556
 
557
557
 
558
558
  17
559
559
  18
560
- 19</pre>
561
- </td>
562
- <td>
560
+ 19</pre>
561
+ </td>
562
+ <td>
563
563
  <pre class="code"><span class="info file"># File 'lib/ae_easy/core/smart_collection.rb', line 17</span>
564
564
 
565
565
  <span class='kw'>def</span> <span class='id identifier rubyid_defaults'>defaults</span>
566
566
  <span class='ivar'>@defaults</span>
567
- <span class='kw'>end</span></pre>
568
- </td>
569
- </tr>
570
- </table>
571
- </div>
572
-
573
-
574
- <span id=""></span>
575
- <div class="method_details ">
576
- <h3 class="signature " id="key_fields-instance_method">
577
-
578
- #<strong>key_fields</strong> &#x21d2; <tt>Object</tt> <span class="extras">(readonly)</span>
579
-
580
-
581
-
582
-
583
-
584
- </h3><div class="docstring">
585
- <div class="discussion">
567
+ <span class='kw'>end</span></pre>
568
+ </td>
569
+ </tr>
570
+ </table>
571
+ </div>
572
+
573
+
574
+ <span id=""></span>
575
+ <div class="method_details ">
576
+ <h3 class="signature " id="key_fields-instance_method">
577
+
578
+ #<strong>key_fields</strong> &#x21d2; <tt>Object</tt> <span class="extras">(readonly)</span>
579
+
580
+
581
+
582
+
583
+
584
+ </h3><div class="docstring">
585
+ <div class="discussion">
586
586
 
587
587
  <p>Key fields, analog to primary keys.</p>
588
-
589
-
590
- </div>
591
- </div>
592
- <div class="tags">
593
-
594
-
595
- </div><table class="source_code">
596
- <tr>
597
- <td>
588
+
589
+
590
+ </div>
591
+ </div>
592
+ <div class="tags">
593
+
594
+
595
+ </div><table class="source_code">
596
+ <tr>
597
+ <td>
598
598
  <pre class="lines">
599
599
 
600
600
 
601
601
  15
602
602
  16
603
- 17</pre>
604
- </td>
605
- <td>
603
+ 17</pre>
604
+ </td>
605
+ <td>
606
606
  <pre class="code"><span class="info file"># File 'lib/ae_easy/core/smart_collection.rb', line 15</span>
607
607
 
608
608
  <span class='kw'>def</span> <span class='id identifier rubyid_key_fields'>key_fields</span>
609
609
  <span class='ivar'>@key_fields</span>
610
- <span class='kw'>end</span></pre>
611
- </td>
612
- </tr>
613
- </table>
614
- </div>
615
-
616
- </div>
617
-
618
-
619
- <div id="instance_method_details" class="method_details_list">
620
- <h2>Instance Method Details</h2>
621
-
622
-
623
- <div class="method_details first">
624
- <h3 class="signature first" id="<<-instance_method">
625
-
626
- #<strong>&lt;&lt;</strong>(item) &#x21d2; <tt>Object</tt>
627
-
628
-
629
-
630
-
631
-
632
- </h3><div class="docstring">
633
- <div class="discussion">
610
+ <span class='kw'>end</span></pre>
611
+ </td>
612
+ </tr>
613
+ </table>
614
+ </div>
615
+
616
+ </div>
617
+
618
+
619
+ <div id="instance_method_details" class="method_details_list">
620
+ <h2>Instance Method Details</h2>
621
+
622
+
623
+ <div class="method_details first">
624
+ <h3 class="signature first" id="<<-instance_method">
625
+
626
+ #<strong>&lt;&lt;</strong>(item) &#x21d2; <tt>Object</tt>
627
+
628
+
629
+
630
+
631
+
632
+ </h3><div class="docstring">
633
+ <div class="discussion">
634
634
 
635
635
  <p>Add/remplace an item avoiding duplicates</p>
636
-
637
-
638
- </div>
639
- </div>
640
- <div class="tags">
641
-
642
-
643
- </div><table class="source_code">
644
- <tr>
645
- <td>
636
+
637
+
638
+ </div>
639
+ </div>
640
+ <div class="tags">
641
+
642
+
643
+ </div><table class="source_code">
644
+ <tr>
645
+ <td>
646
646
  <pre class="lines">
647
647
 
648
648
 
@@ -655,9 +655,9 @@
655
655
  230
656
656
  231
657
657
  232
658
- 233</pre>
659
- </td>
660
- <td>
658
+ 233</pre>
659
+ </td>
660
+ <td>
661
661
  <pre class="code"><span class="info file"># File 'lib/ae_easy/core/smart_collection.rb', line 224</span>
662
662
 
663
663
  <span class='kw'>def</span> <span class='op'>&lt;&lt;</span> <span class='id identifier rubyid_item'>item</span>
@@ -669,26 +669,26 @@
669
669
  <span class='id identifier rubyid_delete'>delete</span> <span class='id identifier rubyid_match'>match</span> <span class='kw'>unless</span> <span class='id identifier rubyid_match'>match</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span>
670
670
  <span class='id identifier rubyid_result'>result</span> <span class='op'>=</span> <span class='kw'>super</span><span class='lparen'>(</span><span class='id identifier rubyid_item'>item</span><span class='rparen'>)</span>
671
671
  <span class='id identifier rubyid_call_event'>call_event</span> <span class='symbol'>:after_insert</span><span class='comma'>,</span> <span class='id identifier rubyid_result'>result</span><span class='comma'>,</span> <span class='id identifier rubyid_item'>item</span><span class='comma'>,</span> <span class='id identifier rubyid_match'>match</span>
672
- <span class='kw'>end</span></pre>
673
- </td>
674
- </tr>
675
- </table>
676
- </div>
677
-
678
- <div class="method_details ">
679
- <h3 class="signature " id="bind_event-instance_method">
680
-
681
- #<strong>bind_event</strong>(key, &amp;block) &#x21d2; <tt>Object</tt>
682
-
683
-
684
-
685
-
686
-
687
- </h3><div class="docstring">
688
- <div class="discussion">
689
-
690
- <div class="note notetag">
691
- <strong>Note:</strong>
672
+ <span class='kw'>end</span></pre>
673
+ </td>
674
+ </tr>
675
+ </table>
676
+ </div>
677
+
678
+ <div class="method_details ">
679
+ <h3 class="signature " id="bind_event-instance_method">
680
+
681
+ #<strong>bind_event</strong>(key, &amp;block) &#x21d2; <tt>Object</tt>
682
+
683
+
684
+
685
+
686
+
687
+ </h3><div class="docstring">
688
+ <div class="discussion">
689
+
690
+ <div class="note notetag">
691
+ <strong>Note:</strong>
692
692
  <div class='inline'>
693
693
  <p>Some events will expect a return value to replace item on insertion:</p>
694
694
  <ul><li>
@@ -698,25 +698,25 @@
698
698
  </li><li>
699
699
  <p>`before_insert`</p>
700
700
  </li></ul>
701
- </div>
702
- </div>
703
-
701
+ </div>
702
+ </div>
703
+
704
704
 
705
705
  <p>Add event binding by key and block.</p>
706
-
707
-
708
- </div>
709
- </div>
710
- <div class="tags">
711
-
712
- <div class="examples">
713
- <p class="tag_title">Examples:</p>
714
-
715
-
706
+
707
+
708
+ </div>
709
+ </div>
710
+ <div class="tags">
711
+
712
+ <div class="examples">
713
+ <p class="tag_title">Examples:</p>
714
+
715
+
716
716
  <p class="example_title"><div class='inline'>
717
717
  <p>before_defaults</p>
718
- </div></p>
719
-
718
+ </div></p>
719
+
720
720
  <pre class="example code"><code><span class='id identifier rubyid_defaults'>defaults</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>aaa</span><span class='tstring_end'>&#39;</span></span> <span class='op'>=&gt;</span> <span class='int'>111</span><span class='rbrace'>}</span>
721
721
  <span class='id identifier rubyid_collection'>collection</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="" title="AeEasy::Core::SmartCollection (class)">SmartCollection</a></span></span><span class='period'>.</span><span class='id identifier rubyid_new'><span class='object_link'><a href="#initialize-instance_method" title="AeEasy::Core::SmartCollection#initialize (method)">new</a></span></span> <span class='lbracket'>[</span><span class='rbracket'>]</span><span class='comma'>,</span>
722
722
  <span class='label'>defaults:</span> <span class='id identifier rubyid_defaults'>defaults</span>
@@ -732,13 +732,13 @@
732
732
  <span class='kw'>end</span>
733
733
  <span class='id identifier rubyid_data'>data</span> <span class='op'>&lt;&lt;</span> <span class='lbrace'>{</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>bbb</span><span class='tstring_end'>&#39;</span></span> <span class='op'>=&gt;</span> <span class='int'>222</span><span class='rbrace'>}</span>
734
734
  <span class='id identifier rubyid_data'>data</span>
735
- <span class='comment'># =&gt; [{&#39;aaa&#39; =&gt; 111, &#39;bbb&#39; =&gt; 222}]</span></code></pre>
736
-
737
-
735
+ <span class='comment'># =&gt; [{&#39;aaa&#39; =&gt; 111, &#39;bbb&#39; =&gt; 222}]</span></code></pre>
736
+
737
+
738
738
  <p class="example_title"><div class='inline'>
739
739
  <p>before_match</p>
740
- </div></p>
741
-
740
+ </div></p>
741
+
742
742
  <pre class="example code"><code>keys = [&#39;id&#39;]
743
743
  defaults = {&#39;aaa&#39; =&gt; 111}
744
744
  values = [
@@ -759,13 +759,13 @@ collection.bind_event(:before_match) do |collection, item|
759
759
  end
760
760
  data &lt;&lt; {&#39;id&#39; =&gt; 1, &#39;bbb&#39; =&gt; 222}
761
761
  data
762
- # =&gt; [{&#39;id&#39; =&gt; 1, &#39;aaa&#39; =&gt; 111, &#39;bbb&#39; =&gt; 222}]</code></pre>
763
-
764
-
762
+ # =&gt; [{&#39;id&#39; =&gt; 1, &#39;aaa&#39; =&gt; 111, &#39;bbb&#39; =&gt; 222}]</code></pre>
763
+
764
+
765
765
  <p class="example_title"><div class='inline'>
766
766
  <p>before_insert</p>
767
- </div></p>
768
-
767
+ </div></p>
768
+
769
769
  <pre class="example code"><code>keys = [&#39;id&#39;]
770
770
  defaults = {&#39;aaa&#39; =&gt; 111}
771
771
  values = [
@@ -788,13 +788,13 @@ collection.bind_event(:before_insert) do |collection, item, match|
788
788
  end
789
789
  data &lt;&lt; {&#39;id&#39; =&gt; 1, &#39;bbb&#39; =&gt; 222}
790
790
  data
791
- # =&gt; [{&#39;id&#39; =&gt; 1, &#39;aaa&#39; =&gt; 111, &#39;bbb&#39; =&gt; 222}]</code></pre>
792
-
793
-
791
+ # =&gt; [{&#39;id&#39; =&gt; 1, &#39;aaa&#39; =&gt; 111, &#39;bbb&#39; =&gt; 222}]</code></pre>
792
+
793
+
794
794
  <p class="example_title"><div class='inline'>
795
795
  <p>after_insert</p>
796
- </div></p>
797
-
796
+ </div></p>
797
+
798
798
  <pre class="example code"><code>keys = [&#39;id&#39;]
799
799
  defaults = {&#39;aaa&#39; =&gt; 111}
800
800
  values = [
@@ -814,52 +814,52 @@ collection.bind_event(:after_insert) do |collection, item, match|
814
814
  end
815
815
  data &lt;&lt; {&#39;id&#39; =&gt; 1, &#39;bbb&#39; =&gt; 222}
816
816
  data
817
- # =&gt; [{&#39;id&#39; =&gt; 1, &#39;aaa&#39; =&gt; 111, &#39;bbb&#39; =&gt; 222}]</code></pre>
818
-
819
- </div>
820
- <p class="tag_title">Parameters:</p>
821
- <ul class="param">
822
-
823
- <li>
824
-
825
- <span class='name'>key</span>
826
-
827
-
828
- <span class='type'>(<tt>Symbol</tt>)</span>
829
-
830
-
831
-
832
- &mdash;
817
+ # =&gt; [{&#39;id&#39; =&gt; 1, &#39;aaa&#39; =&gt; 111, &#39;bbb&#39; =&gt; 222}]</code></pre>
818
+
819
+ </div>
820
+ <p class="tag_title">Parameters:</p>
821
+ <ul class="param">
822
+
823
+ <li>
824
+
825
+ <span class='name'>key</span>
826
+
827
+
828
+ <span class='type'>(<tt>Symbol</tt>)</span>
829
+
830
+
831
+
832
+ &mdash;
833
833
  <div class='inline'>
834
834
  <p>Event name.</p>
835
- </div>
836
-
837
- </li>
838
-
839
- </ul>
840
-
841
- <p class="tag_title">Raises:</p>
842
- <ul class="raise">
843
-
844
- <li>
845
-
846
-
847
- <span class='type'>(<tt>ArgumentError</tt>)</span>
848
-
849
-
850
-
851
- &mdash;
835
+ </div>
836
+
837
+ </li>
838
+
839
+ </ul>
840
+
841
+ <p class="tag_title">Raises:</p>
842
+ <ul class="raise">
843
+
844
+ <li>
845
+
846
+
847
+ <span class='type'>(<tt>ArgumentError</tt>)</span>
848
+
849
+
850
+
851
+ &mdash;
852
852
  <div class='inline'>
853
853
  <p>When unknown event key.</p>
854
- </div>
855
-
856
- </li>
857
-
858
- </ul>
859
-
860
- </div><table class="source_code">
861
- <tr>
862
- <td>
854
+ </div>
855
+
856
+ </li>
857
+
858
+ </ul>
859
+
860
+ </div><table class="source_code">
861
+ <tr>
862
+ <td>
863
863
  <pre class="lines">
864
864
 
865
865
 
@@ -868,9 +868,9 @@ data
868
868
  163
869
869
  164
870
870
  165
871
- 166</pre>
872
- </td>
873
- <td>
871
+ 166</pre>
872
+ </td>
873
+ <td>
874
874
  <pre class="code"><span class="info file"># File 'lib/ae_easy/core/smart_collection.rb', line 161</span>
875
875
 
876
876
  <span class='kw'>def</span> <span class='id identifier rubyid_bind_event'>bind_event</span> <span class='id identifier rubyid_key'>key</span><span class='comma'>,</span> <span class='op'>&amp;</span><span class='id identifier rubyid_block'>block</span>
@@ -878,76 +878,76 @@ data
878
878
  <span class='id identifier rubyid_raise'>raise</span> <span class='const'>ArgumentError</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Unknown event &#39;</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_key'>key</span><span class='embexpr_end'>}</span><span class='tstring_content'>&#39;</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span>
879
879
  <span class='kw'>end</span>
880
880
  <span class='lparen'>(</span><span class='id identifier rubyid_events'>events</span><span class='lbracket'>[</span><span class='id identifier rubyid_key'>key</span><span class='rbracket'>]</span> <span class='op'>||=</span> <span class='lbracket'>[</span><span class='rbracket'>]</span><span class='rparen'>)</span> <span class='op'>&lt;&lt;</span> <span class='id identifier rubyid_block'>block</span>
881
- <span class='kw'>end</span></pre>
882
- </td>
883
- </tr>
884
- </table>
885
- </div>
886
-
887
- <div class="method_details ">
888
- <h3 class="signature " id="find_match-instance_method">
889
-
890
- #<strong>find_match</strong>(filter) &#x21d2; <tt>Hash</tt><sup>?</sup>
891
-
892
-
893
-
894
-
895
-
896
- </h3><div class="docstring">
897
- <div class="discussion">
898
-
899
- <div class="note notetag">
900
- <strong>Note:</strong>
881
+ <span class='kw'>end</span></pre>
882
+ </td>
883
+ </tr>
884
+ </table>
885
+ </div>
886
+
887
+ <div class="method_details ">
888
+ <h3 class="signature " id="find_match-instance_method">
889
+
890
+ #<strong>find_match</strong>(filter) &#x21d2; <tt>Hash</tt><sup>?</sup>
891
+
892
+
893
+
894
+
895
+
896
+ </h3><div class="docstring">
897
+ <div class="discussion">
898
+
899
+ <div class="note notetag">
900
+ <strong>Note:</strong>
901
901
  <div class='inline'>
902
902
  <p><em>Warning:</em> It uses table scan to filter and will be slow.</p>
903
- </div>
904
- </div>
905
-
903
+ </div>
904
+ </div>
905
+
906
906
 
907
907
  <p>Find an item by matching filter keys</p>
908
-
909
-
910
- </div>
911
- </div>
912
- <div class="tags">
913
- <p class="tag_title">Parameters:</p>
914
- <ul class="param">
915
-
916
- <li>
917
-
918
- <span class='name'>filter</span>
919
-
920
-
921
- <span class='type'>(<tt>Hash</tt>)</span>
922
-
923
-
924
-
925
- </li>
926
-
927
- </ul>
928
-
929
- <p class="tag_title">Returns:</p>
930
- <ul class="return">
931
-
932
- <li>
933
-
934
-
935
- <span class='type'>(<tt>Hash</tt>, <tt>nil</tt>)</span>
936
-
937
-
938
-
939
- &mdash;
908
+
909
+
910
+ </div>
911
+ </div>
912
+ <div class="tags">
913
+ <p class="tag_title">Parameters:</p>
914
+ <ul class="param">
915
+
916
+ <li>
917
+
918
+ <span class='name'>filter</span>
919
+
920
+
921
+ <span class='type'>(<tt>Hash</tt>)</span>
922
+
923
+
924
+
925
+ </li>
926
+
927
+ </ul>
928
+
929
+ <p class="tag_title">Returns:</p>
930
+ <ul class="return">
931
+
932
+ <li>
933
+
934
+
935
+ <span class='type'>(<tt>Hash</tt>, <tt>nil</tt>)</span>
936
+
937
+
938
+
939
+ &mdash;
940
940
  <div class='inline'>
941
941
  <p>First existing item match or nil when no match.</p>
942
- </div>
943
-
944
- </li>
945
-
946
- </ul>
947
-
948
- </div><table class="source_code">
949
- <tr>
950
- <td>
942
+ </div>
943
+
944
+ </li>
945
+
946
+ </ul>
947
+
948
+ </div><table class="source_code">
949
+ <tr>
950
+ <td>
951
951
  <pre class="lines">
952
952
 
953
953
 
@@ -955,93 +955,93 @@ data
955
955
  218
956
956
  219
957
957
  220
958
- 221</pre>
959
- </td>
960
- <td>
958
+ 221</pre>
959
+ </td>
960
+ <td>
961
961
  <pre class="code"><span class="info file"># File 'lib/ae_easy/core/smart_collection.rb', line 217</span>
962
962
 
963
963
  <span class='kw'>def</span> <span class='id identifier rubyid_find_match'>find_match</span> <span class='id identifier rubyid_filter'>filter</span>
964
964
  <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_find'>find</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_item'>item</span><span class='op'>|</span>
965
965
  <span class='id identifier rubyid_match_keys?'>match_keys?</span> <span class='id identifier rubyid_item'>item</span><span class='comma'>,</span> <span class='id identifier rubyid_filter'>filter</span>
966
966
  <span class='kw'>end</span>
967
- <span class='kw'>end</span></pre>
968
- </td>
969
- </tr>
970
- </table>
971
- </div>
972
-
973
- <div class="method_details ">
974
- <h3 class="signature " id="match_keys?-instance_method">
975
-
976
- #<strong>match_keys?</strong>(item_a, item_b) &#x21d2; <tt>Boolean</tt>
977
-
978
-
979
-
980
-
981
-
982
- </h3><div class="docstring">
983
- <div class="discussion">
967
+ <span class='kw'>end</span></pre>
968
+ </td>
969
+ </tr>
970
+ </table>
971
+ </div>
972
+
973
+ <div class="method_details ">
974
+ <h3 class="signature " id="match_keys?-instance_method">
975
+
976
+ #<strong>match_keys?</strong>(item_a, item_b) &#x21d2; <tt>Boolean</tt>
977
+
978
+
979
+
980
+
981
+
982
+ </h3><div class="docstring">
983
+ <div class="discussion">
984
984
 
985
985
  <p>Check whenever two items keys match.</p>
986
-
987
-
988
- </div>
989
- </div>
990
- <div class="tags">
991
- <p class="tag_title">Parameters:</p>
992
- <ul class="param">
993
-
994
- <li>
995
-
996
- <span class='name'>item_a</span>
997
-
998
-
999
- <span class='type'>(<tt>Hash</tt>)</span>
1000
-
1001
-
1002
-
1003
- &mdash;
986
+
987
+
988
+ </div>
989
+ </div>
990
+ <div class="tags">
991
+ <p class="tag_title">Parameters:</p>
992
+ <ul class="param">
993
+
994
+ <li>
995
+
996
+ <span class='name'>item_a</span>
997
+
998
+
999
+ <span class='type'>(<tt>Hash</tt>)</span>
1000
+
1001
+
1002
+
1003
+ &mdash;
1004
1004
  <div class='inline'>
1005
1005
  <p>Item to match.</p>
1006
- </div>
1007
-
1008
- </li>
1009
-
1010
- <li>
1011
-
1012
- <span class='name'>item_b</span>
1013
-
1014
-
1015
- <span class='type'>(<tt>Hash</tt>)</span>
1016
-
1017
-
1018
-
1019
- &mdash;
1006
+ </div>
1007
+
1008
+ </li>
1009
+
1010
+ <li>
1011
+
1012
+ <span class='name'>item_b</span>
1013
+
1014
+
1015
+ <span class='type'>(<tt>Hash</tt>)</span>
1016
+
1017
+
1018
+
1019
+ &mdash;
1020
1020
  <div class='inline'>
1021
1021
  <p>Item to match.</p>
1022
- </div>
1023
-
1024
- </li>
1025
-
1026
- </ul>
1027
-
1028
- <p class="tag_title">Returns:</p>
1029
- <ul class="return">
1030
-
1031
- <li>
1032
-
1033
-
1034
- <span class='type'>(<tt>Boolean</tt>)</span>
1035
-
1036
-
1037
-
1038
- </li>
1039
-
1040
- </ul>
1041
-
1042
- </div><table class="source_code">
1043
- <tr>
1044
- <td>
1022
+ </div>
1023
+
1024
+ </li>
1025
+
1026
+ </ul>
1027
+
1028
+ <p class="tag_title">Returns:</p>
1029
+ <ul class="return">
1030
+
1031
+ <li>
1032
+
1033
+
1034
+ <span class='type'>(<tt>Boolean</tt>)</span>
1035
+
1036
+
1037
+
1038
+ </li>
1039
+
1040
+ </ul>
1041
+
1042
+ </div><table class="source_code">
1043
+ <tr>
1044
+ <td>
1045
1045
  <pre class="lines">
1046
1046
 
1047
1047
 
@@ -1053,9 +1053,9 @@ data
1053
1053
  192
1054
1054
  193
1055
1055
  194
1056
- 195</pre>
1057
- </td>
1058
- <td>
1056
+ 195</pre>
1057
+ </td>
1058
+ <td>
1059
1059
  <pre class="code"><span class="info file"># File 'lib/ae_easy/core/smart_collection.rb', line 187</span>
1060
1060
 
1061
1061
  <span class='kw'>def</span> <span class='id identifier rubyid_match_keys?'>match_keys?</span> <span class='id identifier rubyid_item_a'>item_a</span><span class='comma'>,</span> <span class='id identifier rubyid_item_b'>item_b</span>
@@ -1066,22 +1066,22 @@ data
1066
1066
  <span class='kw'>return</span> <span class='kw'>false</span> <span class='kw'>if</span> <span class='id identifier rubyid_item_a'>item_a</span><span class='lbracket'>[</span><span class='id identifier rubyid_key'>key</span><span class='rbracket'>]</span> <span class='op'>!=</span> <span class='id identifier rubyid_item_b'>item_b</span><span class='lbracket'>[</span><span class='id identifier rubyid_key'>key</span><span class='rbracket'>]</span>
1067
1067
  <span class='kw'>end</span>
1068
1068
  <span class='kw'>true</span>
1069
- <span class='kw'>end</span></pre>
1070
- </td>
1071
- </tr>
1072
- </table>
1073
- </div>
1074
-
1075
- </div>
1076
-
1077
- </div>
1078
-
1079
- <div id="footer">
1080
- Generated on Mon Mar 11 20:05:18 2019 by
1081
- <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
1082
- 0.9.18 (ruby-2.5.3).
1083
- </div>
1084
-
1085
- </div>
1086
- </body>
1069
+ <span class='kw'>end</span></pre>
1070
+ </td>
1071
+ </tr>
1072
+ </table>
1073
+ </div>
1074
+
1075
+ </div>
1076
+
1077
+ </div>
1078
+
1079
+ <div id="footer">
1080
+ Generated on Fri Sep 27 02:01:31 2019 by
1081
+ <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
1082
+ 0.9.20 (ruby-2.5.3).
1083
+ </div>
1084
+
1085
+ </div>
1086
+ </body>
1087
1087
  </html>