dh_easy-login 0.0.5

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.
@@ -0,0 +1,22 @@
1
+ require 'benchmark'
2
+ require 'bundler/gem_tasks'
3
+ require 'rake/testtask'
4
+
5
+ Rake::TestTask.new do |t|
6
+ t.libs = ['lib', 'test']
7
+ t.warning = false
8
+ t.verbose = false
9
+ t.test_files = FileList['./test/**/*_test.rb']
10
+ end
11
+
12
+ desc 'Benchmark another task execution | usage example: benchmark[my_task, param1, param2]'
13
+ task :benchmark, [:task] do |task, args|
14
+ task_name = args[:task]
15
+ if task_name.nil?
16
+ puts "Should select a task."
17
+ exit 1
18
+ end
19
+ puts Benchmark.measure{ Rake::Task[task_name].invoke *args.extras }
20
+ end
21
+
22
+ task default: :test
@@ -0,0 +1,49 @@
1
+
2
+ lib = File.expand_path("../lib", __FILE__)
3
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
+ require "dh_easy/login/version"
5
+
6
+ Gem::Specification.new do |spec|
7
+ spec.name = "dh_easy-login"
8
+ spec.version = DhEasy::Login::VERSION
9
+ spec.authors = ["Eduardo Rosales"]
10
+ spec.email = ["eduardo@datahen.com"]
11
+
12
+ spec.summary = %q{DataHen Easy toolkit login flow module}
13
+ spec.description = %q{DataHen Easy toolkit login flow module allows to handle login and session expire recovery with ease.}
14
+ spec.homepage = "https://datahen.com"
15
+ spec.license = "MIT"
16
+
17
+ # spec.cert_chain = ['certs/dh_easy.pem']
18
+ # spec.signing_key = File.expand_path("~/.ssh/gems/gem-private_dh_easy.pem") if $0 =~ /gem\z/
19
+
20
+ # Prevent pushing this gem to RubyGems.org. To allow pushes either set the 'allowed_push_host'
21
+ # to allow pushing to a single host or delete this section to allow pushing to any host.
22
+ if spec.respond_to?(:metadata)
23
+ # spec.metadata["allowed_push_host"] = "TODO: Set to 'http://mygemserver.com'"
24
+
25
+ spec.metadata["homepage_uri"] = spec.homepage
26
+ spec.metadata["source_code_uri"] = "https://github.com/DataHenOfficial/dh_easy-login"
27
+ # spec.metadata["changelog_uri"] = "TODO: Put your gem's CHANGELOG.md URL here."
28
+ else
29
+ raise "RubyGems 2.0 or newer is required to protect against " \
30
+ "public gem pushes."
31
+ end
32
+
33
+ # Specify which files should be added to the gem when it is released.
34
+ # The `git ls-files -z` loads the files in the RubyGem that have been added into git.
35
+ spec.files = Dir.chdir(File.expand_path('..', __FILE__)) do
36
+ `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
37
+ end
38
+ spec.require_paths = ["lib"]
39
+ spec.required_ruby_version = '>= 2.2.2'
40
+
41
+ spec.add_dependency 'dh_easy-core', '~> 0'
42
+ spec.add_development_dependency 'bundler', '>= 1'
43
+ spec.add_development_dependency 'rake', '~> 10'
44
+ spec.add_development_dependency 'minitest', '~> 5'
45
+ spec.add_development_dependency 'simplecov', '~> 0'
46
+ spec.add_development_dependency 'simplecov-console', '~> 0'
47
+ spec.add_development_dependency 'timecop', '~> 0'
48
+ spec.add_development_dependency 'byebug', '>= 0'
49
+ end
@@ -0,0 +1,117 @@
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: DhEasy
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 = "DhEasy";
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 (D)</a> &raquo;
40
+
41
+
42
+ <span class="title">DhEasy</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: DhEasy
63
+
64
+
65
+
66
+ </h1>
67
+ <div class="box_info">
68
+
69
+
70
+
71
+
72
+
73
+
74
+
75
+
76
+
77
+
78
+
79
+ <dl>
80
+ <dt>Defined in:</dt>
81
+ <dd>lib/dh_easy/login.rb<span class="defines">,<br />
82
+ lib/dh_easy/login/flow.rb,<br /> lib/dh_easy/login/plugin.rb,<br /> lib/dh_easy/login/version.rb,<br /> lib/dh_easy/login/plugin/enabled_behavior.rb</span>
83
+ </dd>
84
+ </dl>
85
+
86
+ </div>
87
+
88
+ <h2>Defined Under Namespace</h2>
89
+ <p class="children">
90
+
91
+
92
+ <strong class="modules">Modules:</strong> <span class='object_link'><a href="DhEasy/Login.html" title="DhEasy::Login (module)">Login</a></span>
93
+
94
+
95
+
96
+
97
+ </p>
98
+
99
+
100
+
101
+
102
+
103
+
104
+
105
+
106
+
107
+ </div>
108
+
109
+ <div id="footer">
110
+ Generated on Wed Dec 4 23:19:59 2019 by
111
+ <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
112
+ 0.9.20 (ruby-2.5.3).
113
+ </div>
114
+
115
+ </div>
116
+ </body>
117
+ </html>
@@ -0,0 +1,146 @@
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: DhEasy::Login
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 = "DhEasy::Login";
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 (L)</a> &raquo;
40
+ <span class='title'><span class='object_link'><a href="../DhEasy.html" title="DhEasy (module)">DhEasy</a></span></span>
41
+ &raquo;
42
+ <span class="title">Login</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: DhEasy::Login
63
+
64
+
65
+
66
+ </h1>
67
+ <div class="box_info">
68
+
69
+
70
+
71
+
72
+
73
+
74
+
75
+
76
+
77
+
78
+
79
+ <dl>
80
+ <dt>Defined in:</dt>
81
+ <dd>lib/dh_easy/login.rb<span class="defines">,<br />
82
+ lib/dh_easy/login/flow.rb,<br /> lib/dh_easy/login/plugin.rb,<br /> lib/dh_easy/login/version.rb,<br /> lib/dh_easy/login/plugin/enabled_behavior.rb</span>
83
+ </dd>
84
+ </dl>
85
+
86
+ </div>
87
+
88
+ <h2>Defined Under Namespace</h2>
89
+ <p class="children">
90
+
91
+
92
+ <strong class="modules">Modules:</strong> <span class='object_link'><a href="Login/Plugin.html" title="DhEasy::Login::Plugin (module)">Plugin</a></span>
93
+
94
+
95
+
96
+ <strong class="classes">Classes:</strong> <span class='object_link'><a href="Login/Flow.html" title="DhEasy::Login::Flow (class)">Flow</a></span>
97
+
98
+
99
+ </p>
100
+
101
+
102
+ <h2>
103
+ Constant Summary
104
+ <small><a href="#" class="constants_summary_toggle">collapse</a></small>
105
+ </h2>
106
+
107
+ <dl class="constants">
108
+
109
+ <dt id="VERSION-constant" class="">VERSION =
110
+ <div class="docstring">
111
+ <div class="discussion">
112
+
113
+ <p>Gem version</p>
114
+
115
+
116
+ </div>
117
+ </div>
118
+ <div class="tags">
119
+
120
+
121
+ </div>
122
+ </dt>
123
+ <dd><pre class="code"><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>0.0.5</span><span class='tstring_end'>&#39;</span></span></pre></dd>
124
+
125
+ </dl>
126
+
127
+
128
+
129
+
130
+
131
+
132
+
133
+
134
+
135
+
136
+ </div>
137
+
138
+ <div id="footer">
139
+ Generated on Wed Dec 4 23:19:59 2019 by
140
+ <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
141
+ 0.9.20 (ruby-2.5.3).
142
+ </div>
143
+
144
+ </div>
145
+ </body>
146
+ </html>
@@ -0,0 +1,2589 @@
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: DhEasy::Login::Flow
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 = "DhEasy::Login::Flow";
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 (F)</a> &raquo;
40
+ <span class='title'><span class='object_link'><a href="../../DhEasy.html" title="DhEasy (module)">DhEasy</a></span></span> &raquo; <span class='title'><span class='object_link'><a href="../Login.html" title="DhEasy::Login (module)">Login</a></span></span>
41
+ &raquo;
42
+ <span class="title">Flow</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: DhEasy::Login::Flow
63
+
64
+
65
+
66
+ </h1>
67
+ <div class="box_info">
68
+
69
+ <dl>
70
+ <dt>Inherits:</dt>
71
+ <dd>
72
+ <span class="inheritName">Object</span>
73
+
74
+ <ul class="fullTree">
75
+ <li>Object</li>
76
+
77
+ <li class="next">DhEasy::Login::Flow</li>
78
+
79
+ </ul>
80
+ <a href="#" class="inheritanceTree">show all</a>
81
+
82
+ </dd>
83
+ </dl>
84
+
85
+
86
+
87
+
88
+
89
+
90
+ <dl>
91
+ <dt>Includes:</dt>
92
+ <dd>Core::Plugin::Executor</dd>
93
+ </dl>
94
+
95
+
96
+
97
+
98
+
99
+
100
+ <dl>
101
+ <dt>Defined in:</dt>
102
+ <dd>lib/dh_easy/login/flow.rb</dd>
103
+ </dl>
104
+
105
+ </div>
106
+
107
+ <h2>Overview</h2><div class="docstring">
108
+ <div class="discussion">
109
+
110
+ <p>Login flow executor designed to recover from an expired or invalid</p>
111
+
112
+ <pre class="code ruby"><code class="ruby">session.
113
+ </code></pre>
114
+
115
+
116
+ </div>
117
+ </div>
118
+ <div class="tags">
119
+
120
+
121
+ </div>
122
+
123
+
124
+
125
+ <h2>Instance Attribute Summary <small><a href="#" class="summary_toggle">collapse</a></small></h2>
126
+ <ul class="summary">
127
+
128
+ <li class="public ">
129
+ <span class="summary_signature">
130
+
131
+ <a href="#app_config-instance_method" title="#app_config (instance method)">#<strong>app_config</strong> &#x21d2; DhEasy::Core::Config </a>
132
+
133
+
134
+
135
+ </span>
136
+
137
+
138
+
139
+
140
+
141
+
142
+
143
+
144
+
145
+
146
+
147
+
148
+ <span class="summary_desc"><div class='inline'>
149
+ <p>App configuration to store login flow configuration.</p>
150
+ </div></span>
151
+
152
+ </li>
153
+
154
+
155
+ <li class="public ">
156
+ <span class="summary_signature">
157
+
158
+ <a href="#collection-instance_method" title="#collection (instance method)">#<strong>collection</strong> &#x21d2; String </a>
159
+
160
+
161
+
162
+ </span>
163
+
164
+
165
+
166
+
167
+
168
+
169
+
170
+
171
+
172
+
173
+
174
+
175
+ <span class="summary_desc"><div class='inline'>
176
+ <p>Output collection used to store held pages to be fixed and fetched.</p>
177
+ </div></span>
178
+
179
+ </li>
180
+
181
+
182
+ <li class="public ">
183
+ <span class="summary_signature">
184
+
185
+ <a href="#config_key-instance_method" title="#config_key (instance method)">#<strong>config_key</strong> &#x21d2; String </a>
186
+
187
+
188
+
189
+ </span>
190
+
191
+
192
+
193
+
194
+
195
+
196
+
197
+
198
+
199
+
200
+
201
+
202
+ <span class="summary_desc"><div class='inline'>
203
+ <p>Key to be used to store login flow configuration data at #app_config.</p>
204
+ </div></span>
205
+
206
+ </li>
207
+
208
+
209
+ <li class="public ">
210
+ <span class="summary_signature">
211
+
212
+ <a href="#custom_fix-instance_method" title="#custom_fix (instance method)">#<strong>custom_fix</strong> &#x21d2; Proc, ... </a>
213
+
214
+
215
+
216
+ </span>
217
+
218
+
219
+
220
+
221
+
222
+
223
+
224
+
225
+
226
+
227
+
228
+
229
+ <span class="summary_desc"><div class='inline'>
230
+ <p>Block with custom user defined fixing logic to be executed on help page
231
+ fix.</p>
232
+ </div></span>
233
+
234
+ </li>
235
+
236
+
237
+ <li class="public ">
238
+ <span class="summary_signature">
239
+
240
+ <a href="#keep_response_keys-instance_method" title="#keep_response_keys (instance method)">#<strong>keep_response_keys</strong> &#x21d2; Boolean </a>
241
+
242
+
243
+
244
+ </span>
245
+
246
+
247
+
248
+
249
+
250
+
251
+
252
+
253
+
254
+
255
+
256
+
257
+ <span class="summary_desc"><div class='inline'>
258
+ <p>Force held pages to keep response_keys on save.</p>
259
+ </div></span>
260
+
261
+ </li>
262
+
263
+
264
+ <li class="public ">
265
+ <span class="summary_signature">
266
+
267
+ <a href="#per_page-instance_method" title="#per_page (instance method)">#<strong>per_page</strong> &#x21d2; Integer </a>
268
+
269
+
270
+
271
+ </span>
272
+
273
+
274
+
275
+
276
+
277
+
278
+
279
+
280
+
281
+
282
+
283
+
284
+ <span class="summary_desc"><div class='inline'>
285
+ <p>Batch size used on query outputs.</p>
286
+ </div></span>
287
+
288
+ </li>
289
+
290
+
291
+ <li class="public ">
292
+ <span class="summary_signature">
293
+
294
+ <a href="#vars_key-instance_method" title="#vars_key (instance method)">#<strong>vars_key</strong> &#x21d2; String </a>
295
+
296
+
297
+
298
+ </span>
299
+
300
+
301
+
302
+
303
+
304
+
305
+
306
+
307
+
308
+
309
+
310
+
311
+ <span class="summary_desc"><div class='inline'>
312
+ <p>Page&#39;s “vars” key to store the login cookie used to fetch.</p>
313
+ </div></span>
314
+
315
+ </li>
316
+
317
+
318
+ </ul>
319
+
320
+
321
+
322
+
323
+
324
+ <h2>
325
+ Instance Method Summary
326
+ <small><a href="#" class="summary_toggle">collapse</a></small>
327
+ </h2>
328
+
329
+ <ul class="summary">
330
+
331
+ <li class="public ">
332
+ <span class="summary_signature">
333
+
334
+ <a href="#add_vars!-instance_method" title="#add_vars! (instance method)">#<strong>add_vars!</strong>(new_page) &#x21d2; Object </a>
335
+
336
+
337
+
338
+ </span>
339
+
340
+
341
+
342
+
343
+
344
+
345
+
346
+
347
+
348
+ <span class="summary_desc"><div class='inline'>
349
+ <p>Add login flow reserved vars into a page.</p>
350
+ </div></span>
351
+
352
+ </li>
353
+
354
+
355
+ <li class="public ">
356
+ <span class="summary_signature">
357
+
358
+ <a href="#clean_page_response!-instance_method" title="#clean_page_response! (instance method)">#<strong>clean_page_response!</strong>(held_page) &#x21d2; Object </a>
359
+
360
+
361
+
362
+ </span>
363
+
364
+
365
+
366
+
367
+
368
+
369
+
370
+
371
+
372
+ <span class="summary_desc"><div class='inline'>
373
+ <p>Remove all response keys from a held page hash.</p>
374
+ </div></span>
375
+
376
+ </li>
377
+
378
+
379
+ <li class="public ">
380
+ <span class="summary_signature">
381
+
382
+ <a href="#config-instance_method" title="#config (instance method)">#<strong>config</strong> &#x21d2; Hash </a>
383
+
384
+
385
+
386
+ </span>
387
+
388
+
389
+
390
+
391
+
392
+
393
+
394
+
395
+
396
+ <span class="summary_desc"><div class='inline'>
397
+ <p>Gets the existing login flow config or load it from app config when
398
+ invalid.</p>
399
+ </div></span>
400
+
401
+ </li>
402
+
403
+
404
+ <li class="public ">
405
+ <span class="summary_signature">
406
+
407
+ <a href="#custom_fix!-instance_method" title="#custom_fix! (instance method)">#<strong>custom_fix!</strong>(held_page) &#x21d2; Object </a>
408
+
409
+
410
+
411
+ </span>
412
+
413
+
414
+
415
+
416
+
417
+
418
+
419
+
420
+
421
+ <span class="summary_desc"><div class='inline'>
422
+ <p>Execute #custom_fix block into a held page.</p>
423
+ </div></span>
424
+
425
+ </li>
426
+
427
+
428
+ <li class="public ">
429
+ <span class="summary_signature">
430
+
431
+ <a href="#expire!-instance_method" title="#expire! (instance method)">#<strong>expire!</strong> &#x21d2; Object </a>
432
+
433
+
434
+
435
+ </span>
436
+
437
+
438
+
439
+
440
+
441
+
442
+
443
+
444
+
445
+ <span class="summary_desc"><div class='inline'>
446
+ <p>Set expire flag as `true`.</p>
447
+ </div></span>
448
+
449
+ </li>
450
+
451
+
452
+ <li class="public ">
453
+ <span class="summary_signature">
454
+
455
+ <a href="#expired%3F-instance_method" title="#expired? (instance method)">#<strong>expired?</strong> &#x21d2; Boolean </a>
456
+
457
+
458
+
459
+ </span>
460
+
461
+
462
+
463
+
464
+
465
+
466
+
467
+
468
+
469
+ <span class="summary_desc"><div class='inline'>
470
+ <p>Indicates whenever latest session has been set as expired.</p>
471
+ </div></span>
472
+
473
+ </li>
474
+
475
+
476
+ <li class="public ">
477
+ <span class="summary_signature">
478
+
479
+ <a href="#fix_page!-instance_method" title="#fix_page! (instance method)">#<strong>fix_page!</strong>(held_page) &#x21d2; Object </a>
480
+
481
+
482
+
483
+ </span>
484
+
485
+
486
+
487
+
488
+
489
+
490
+
491
+
492
+
493
+ <span class="summary_desc"><div class='inline'>
494
+ <p>Fixes a held page session.</p>
495
+ </div></span>
496
+
497
+ </li>
498
+
499
+
500
+ <li class="public ">
501
+ <span class="summary_signature">
502
+
503
+ <a href="#fix_session-instance_method" title="#fix_session (instance method)">#<strong>fix_session</strong>(&amp;enqueue_login) &#x21d2; Object </a>
504
+
505
+
506
+
507
+ </span>
508
+
509
+
510
+
511
+
512
+
513
+
514
+
515
+
516
+
517
+ <span class="summary_desc"><div class='inline'>
518
+ <p>Fixes current page session by enqueue it using latest working session or
519
+ held it for fix and enqueue login page by executing block.</p>
520
+ </div></span>
521
+
522
+ </li>
523
+
524
+
525
+ <li class="public ">
526
+ <span class="summary_signature">
527
+
528
+ <a href="#initialize_hook_login_flow-instance_method" title="#initialize_hook_login_flow (instance method)">#<strong>initialize_hook_login_flow</strong>(opts = {}) &#x21d2; Object </a>
529
+
530
+
531
+
532
+ </span>
533
+
534
+
535
+
536
+
537
+
538
+
539
+
540
+
541
+
542
+ <span class="summary_desc"><div class='inline'>
543
+ <p>Hook to initialize login flow configuration.</p>
544
+ </div></span>
545
+
546
+ </li>
547
+
548
+
549
+ <li class="public ">
550
+ <span class="summary_signature">
551
+
552
+ <a href="#merge_cookie-instance_method" title="#merge_cookie (instance method)">#<strong>merge_cookie</strong>(old_cookie) &#x21d2; Object </a>
553
+
554
+
555
+
556
+ </span>
557
+
558
+
559
+
560
+
561
+
562
+
563
+
564
+
565
+
566
+ <span class="summary_desc"><div class='inline'>
567
+ <p>Updates an old cookie with current cookie saved on app configuration.</p>
568
+ </div></span>
569
+
570
+ </li>
571
+
572
+
573
+ <li class="public ">
574
+ <span class="summary_signature">
575
+
576
+ <a href="#reload_config-instance_method" title="#reload_config (instance method)">#<strong>reload_config</strong> &#x21d2; Object </a>
577
+
578
+
579
+
580
+ </span>
581
+
582
+
583
+
584
+
585
+
586
+
587
+
588
+
589
+
590
+ <span class="summary_desc"><div class='inline'>
591
+ <p>Invalidates login flow config, so it is reloaded on next config usage.</p>
592
+ </div></span>
593
+
594
+ </li>
595
+
596
+
597
+ <li class="public ">
598
+ <span class="summary_signature">
599
+
600
+ <a href="#response_key%3F-instance_method" title="#response_key? (instance method)">#<strong>response_key?</strong>(key) &#x21d2; Boolean </a>
601
+
602
+
603
+
604
+ </span>
605
+
606
+
607
+
608
+
609
+
610
+
611
+
612
+
613
+
614
+ <span class="summary_desc"><div class='inline'>
615
+ <p>Check whenever a key name is categorized as a response key.</p>
616
+ </div></span>
617
+
618
+ </li>
619
+
620
+
621
+ <li class="public ">
622
+ <span class="summary_signature">
623
+
624
+ <a href="#response_keys-instance_method" title="#response_keys (instance method)">#<strong>response_keys</strong> &#x21d2; Array&lt;String&gt; </a>
625
+
626
+
627
+
628
+ </span>
629
+
630
+
631
+
632
+
633
+
634
+
635
+
636
+
637
+
638
+ <span class="summary_desc"><div class='inline'>
639
+ <p>Response keys to remove from a held page before enqueue it again.</p>
640
+ </div></span>
641
+
642
+ </li>
643
+
644
+
645
+ <li class="public ">
646
+ <span class="summary_signature">
647
+
648
+ <a href="#response_keys=-instance_method" title="#response_keys= (instance method)">#<strong>response_keys=</strong>(value) &#x21d2; Object </a>
649
+
650
+
651
+
652
+ </span>
653
+
654
+
655
+
656
+
657
+
658
+
659
+
660
+
661
+
662
+ <span class="summary_desc"><div class='inline'>
663
+ <p>Set response key list to remove from a page before enqueue it again.</p>
664
+ </div></span>
665
+
666
+ </li>
667
+
668
+
669
+ <li class="public ">
670
+ <span class="summary_signature">
671
+
672
+ <a href="#restore_held_pages-instance_method" title="#restore_held_pages (instance method)">#<strong>restore_held_pages</strong> &#x21d2; Object </a>
673
+
674
+
675
+
676
+ </span>
677
+
678
+
679
+
680
+
681
+
682
+
683
+
684
+
685
+
686
+ <span class="summary_desc"><div class='inline'>
687
+ <p>Restore all held pages stored as outputs.</p>
688
+ </div></span>
689
+
690
+ </li>
691
+
692
+
693
+ <li class="public ">
694
+ <span class="summary_signature">
695
+
696
+ <a href="#seeded!-instance_method" title="#seeded! (instance method)">#<strong>seeded!</strong> &#x21d2; Object </a>
697
+
698
+
699
+
700
+ </span>
701
+
702
+
703
+
704
+
705
+
706
+
707
+
708
+
709
+
710
+ <span class="summary_desc"><div class='inline'>
711
+ <p>Set seeded flag as `true`.</p>
712
+ </div></span>
713
+
714
+ </li>
715
+
716
+
717
+ <li class="public ">
718
+ <span class="summary_signature">
719
+
720
+ <a href="#seeded%3F-instance_method" title="#seeded? (instance method)">#<strong>seeded?</strong> &#x21d2; Boolean </a>
721
+
722
+
723
+
724
+ </span>
725
+
726
+
727
+
728
+
729
+
730
+
731
+
732
+
733
+
734
+ <span class="summary_desc"><div class='inline'>
735
+ <p>Indicates whenever login flow has been seeded.</p>
736
+ </div></span>
737
+
738
+ </li>
739
+
740
+
741
+ <li class="public ">
742
+ <span class="summary_signature">
743
+
744
+ <a href="#update_config-instance_method" title="#update_config (instance method)">#<strong>update_config</strong>(data = {}) &#x21d2; Object </a>
745
+
746
+
747
+
748
+ </span>
749
+
750
+
751
+
752
+
753
+
754
+
755
+
756
+
757
+
758
+ <span class="summary_desc"><div class='inline'>
759
+ <p>Updates app configuration.</p>
760
+ </div></span>
761
+
762
+ </li>
763
+
764
+
765
+ </ul>
766
+
767
+
768
+
769
+
770
+ <div id="instance_attr_details" class="attr_details">
771
+ <h2>Instance Attribute Details</h2>
772
+
773
+
774
+ <span id="app_config=-instance_method"></span>
775
+ <div class="method_details first">
776
+ <h3 class="signature first" id="app_config-instance_method">
777
+
778
+ #<strong>app_config</strong> &#x21d2; <tt>DhEasy::Core::Config</tt>
779
+
780
+
781
+
782
+
783
+
784
+ </h3><div class="docstring">
785
+ <div class="discussion">
786
+
787
+ <p>App configuration to store login flow configuration.</p>
788
+
789
+
790
+ </div>
791
+ </div>
792
+ <div class="tags">
793
+
794
+ <p class="tag_title">Returns:</p>
795
+ <ul class="return">
796
+
797
+ <li>
798
+
799
+
800
+ <span class='type'>(<tt>DhEasy::Core::Config</tt>)</span>
801
+
802
+
803
+
804
+ </li>
805
+
806
+ </ul>
807
+
808
+ </div><table class="source_code">
809
+ <tr>
810
+ <td>
811
+ <pre class="lines">
812
+
813
+
814
+ 10
815
+ 11
816
+ 12</pre>
817
+ </td>
818
+ <td>
819
+ <pre class="code"><span class="info file"># File 'lib/dh_easy/login/flow.rb', line 10</span>
820
+
821
+ <span class='kw'>def</span> <span class='id identifier rubyid_app_config'>app_config</span>
822
+ <span class='ivar'>@app_config</span>
823
+ <span class='kw'>end</span></pre>
824
+ </td>
825
+ </tr>
826
+ </table>
827
+ </div>
828
+
829
+
830
+ <span id="collection=-instance_method"></span>
831
+ <div class="method_details ">
832
+ <h3 class="signature " id="collection-instance_method">
833
+
834
+ #<strong>collection</strong> &#x21d2; <tt>String</tt>
835
+
836
+
837
+
838
+
839
+
840
+ </h3><div class="docstring">
841
+ <div class="discussion">
842
+
843
+ <p>Output collection used to store held pages to be fixed and fetched.</p>
844
+
845
+
846
+ </div>
847
+ </div>
848
+ <div class="tags">
849
+
850
+ <p class="tag_title">Returns:</p>
851
+ <ul class="return">
852
+
853
+ <li>
854
+
855
+
856
+ <span class='type'>(<tt>String</tt>)</span>
857
+
858
+
859
+
860
+ </li>
861
+
862
+ </ul>
863
+
864
+ </div><table class="source_code">
865
+ <tr>
866
+ <td>
867
+ <pre class="lines">
868
+
869
+
870
+ 14
871
+ 15
872
+ 16</pre>
873
+ </td>
874
+ <td>
875
+ <pre class="code"><span class="info file"># File 'lib/dh_easy/login/flow.rb', line 14</span>
876
+
877
+ <span class='kw'>def</span> <span class='id identifier rubyid_collection'>collection</span>
878
+ <span class='ivar'>@collection</span>
879
+ <span class='kw'>end</span></pre>
880
+ </td>
881
+ </tr>
882
+ </table>
883
+ </div>
884
+
885
+
886
+ <span id="config_key=-instance_method"></span>
887
+ <div class="method_details ">
888
+ <h3 class="signature " id="config_key-instance_method">
889
+
890
+ #<strong>config_key</strong> &#x21d2; <tt>String</tt>
891
+
892
+
893
+
894
+
895
+
896
+ </h3><div class="docstring">
897
+ <div class="discussion">
898
+
899
+ <p>Key to be used to store login flow configuration data at #app_config.</p>
900
+
901
+
902
+ </div>
903
+ </div>
904
+ <div class="tags">
905
+
906
+ <p class="tag_title">Returns:</p>
907
+ <ul class="return">
908
+
909
+ <li>
910
+
911
+
912
+ <span class='type'>(<tt>String</tt>)</span>
913
+
914
+
915
+
916
+ </li>
917
+
918
+ </ul>
919
+
920
+ </div><table class="source_code">
921
+ <tr>
922
+ <td>
923
+ <pre class="lines">
924
+
925
+
926
+ 22
927
+ 23
928
+ 24</pre>
929
+ </td>
930
+ <td>
931
+ <pre class="code"><span class="info file"># File 'lib/dh_easy/login/flow.rb', line 22</span>
932
+
933
+ <span class='kw'>def</span> <span class='id identifier rubyid_config_key'>config_key</span>
934
+ <span class='ivar'>@config_key</span>
935
+ <span class='kw'>end</span></pre>
936
+ </td>
937
+ </tr>
938
+ </table>
939
+ </div>
940
+
941
+
942
+ <span id="custom_fix=-instance_method"></span>
943
+ <div class="method_details ">
944
+ <h3 class="signature " id="custom_fix-instance_method">
945
+
946
+ #<strong>custom_fix</strong> &#x21d2; <tt>Proc</tt>, ...
947
+
948
+
949
+
950
+
951
+
952
+ </h3><div class="docstring">
953
+ <div class="discussion">
954
+
955
+ <p>Block with custom user defined fixing logic to be executed on help page</p>
956
+
957
+ <pre class="code ruby"><code class="ruby">fix.
958
+ </code></pre>
959
+
960
+
961
+ </div>
962
+ </div>
963
+ <div class="tags">
964
+
965
+ <p class="tag_title">Returns:</p>
966
+ <ul class="return">
967
+
968
+ <li>
969
+
970
+
971
+ <span class='type'>(<tt>Proc</tt>, <tt>Lambda</tt>, <tt>nil</tt>)</span>
972
+
973
+
974
+
975
+ </li>
976
+
977
+ </ul>
978
+
979
+ </div><table class="source_code">
980
+ <tr>
981
+ <td>
982
+ <pre class="lines">
983
+
984
+
985
+ 31
986
+ 32
987
+ 33</pre>
988
+ </td>
989
+ <td>
990
+ <pre class="code"><span class="info file"># File 'lib/dh_easy/login/flow.rb', line 31</span>
991
+
992
+ <span class='kw'>def</span> <span class='id identifier rubyid_custom_fix'>custom_fix</span>
993
+ <span class='ivar'>@custom_fix</span>
994
+ <span class='kw'>end</span></pre>
995
+ </td>
996
+ </tr>
997
+ </table>
998
+ </div>
999
+
1000
+
1001
+ <span id="keep_response_keys=-instance_method"></span>
1002
+ <div class="method_details ">
1003
+ <h3 class="signature " id="keep_response_keys-instance_method">
1004
+
1005
+ #<strong>keep_response_keys</strong> &#x21d2; <tt>Boolean</tt>
1006
+
1007
+
1008
+
1009
+
1010
+
1011
+ </h3><div class="docstring">
1012
+ <div class="discussion">
1013
+
1014
+ <p>Force held pages to keep response_keys on save.</p>
1015
+
1016
+
1017
+ </div>
1018
+ </div>
1019
+ <div class="tags">
1020
+
1021
+ <p class="tag_title">Returns:</p>
1022
+ <ul class="return">
1023
+
1024
+ <li>
1025
+
1026
+
1027
+ <span class='type'>(<tt>Boolean</tt>)</span>
1028
+
1029
+
1030
+
1031
+ &mdash;
1032
+ <div class='inline'>
1033
+ <p>`true` when enabled, else `false`.</p>
1034
+ </div>
1035
+
1036
+ </li>
1037
+
1038
+ </ul>
1039
+
1040
+ </div><table class="source_code">
1041
+ <tr>
1042
+ <td>
1043
+ <pre class="lines">
1044
+
1045
+
1046
+ 35
1047
+ 36
1048
+ 37</pre>
1049
+ </td>
1050
+ <td>
1051
+ <pre class="code"><span class="info file"># File 'lib/dh_easy/login/flow.rb', line 35</span>
1052
+
1053
+ <span class='kw'>def</span> <span class='id identifier rubyid_keep_response_keys'>keep_response_keys</span>
1054
+ <span class='ivar'>@keep_response_keys</span>
1055
+ <span class='kw'>end</span></pre>
1056
+ </td>
1057
+ </tr>
1058
+ </table>
1059
+ </div>
1060
+
1061
+
1062
+ <span id="per_page=-instance_method"></span>
1063
+ <div class="method_details ">
1064
+ <h3 class="signature " id="per_page-instance_method">
1065
+
1066
+ #<strong>per_page</strong> &#x21d2; <tt>Integer</tt>
1067
+
1068
+
1069
+
1070
+
1071
+
1072
+ </h3><div class="docstring">
1073
+ <div class="discussion">
1074
+
1075
+ <p>Batch size used on query outputs.</p>
1076
+
1077
+
1078
+ </div>
1079
+ </div>
1080
+ <div class="tags">
1081
+
1082
+ <p class="tag_title">Returns:</p>
1083
+ <ul class="return">
1084
+
1085
+ <li>
1086
+
1087
+
1088
+ <span class='type'>(<tt>Integer</tt>)</span>
1089
+
1090
+
1091
+
1092
+ </li>
1093
+
1094
+ </ul>
1095
+
1096
+ </div><table class="source_code">
1097
+ <tr>
1098
+ <td>
1099
+ <pre class="lines">
1100
+
1101
+
1102
+ 18
1103
+ 19
1104
+ 20</pre>
1105
+ </td>
1106
+ <td>
1107
+ <pre class="code"><span class="info file"># File 'lib/dh_easy/login/flow.rb', line 18</span>
1108
+
1109
+ <span class='kw'>def</span> <span class='id identifier rubyid_per_page'>per_page</span>
1110
+ <span class='ivar'>@per_page</span>
1111
+ <span class='kw'>end</span></pre>
1112
+ </td>
1113
+ </tr>
1114
+ </table>
1115
+ </div>
1116
+
1117
+
1118
+ <span id="vars_key=-instance_method"></span>
1119
+ <div class="method_details ">
1120
+ <h3 class="signature " id="vars_key-instance_method">
1121
+
1122
+ #<strong>vars_key</strong> &#x21d2; <tt>String</tt>
1123
+
1124
+
1125
+
1126
+
1127
+
1128
+ </h3><div class="docstring">
1129
+ <div class="discussion">
1130
+
1131
+ <p>Page&#39;s “vars” key to store the login cookie used to fetch.</p>
1132
+
1133
+
1134
+ </div>
1135
+ </div>
1136
+ <div class="tags">
1137
+
1138
+ <p class="tag_title">Returns:</p>
1139
+ <ul class="return">
1140
+
1141
+ <li>
1142
+
1143
+
1144
+ <span class='type'>(<tt>String</tt>)</span>
1145
+
1146
+
1147
+
1148
+ </li>
1149
+
1150
+ </ul>
1151
+
1152
+ </div><table class="source_code">
1153
+ <tr>
1154
+ <td>
1155
+ <pre class="lines">
1156
+
1157
+
1158
+ 26
1159
+ 27
1160
+ 28</pre>
1161
+ </td>
1162
+ <td>
1163
+ <pre class="code"><span class="info file"># File 'lib/dh_easy/login/flow.rb', line 26</span>
1164
+
1165
+ <span class='kw'>def</span> <span class='id identifier rubyid_vars_key'>vars_key</span>
1166
+ <span class='ivar'>@vars_key</span>
1167
+ <span class='kw'>end</span></pre>
1168
+ </td>
1169
+ </tr>
1170
+ </table>
1171
+ </div>
1172
+
1173
+ </div>
1174
+
1175
+
1176
+ <div id="instance_method_details" class="method_details_list">
1177
+ <h2>Instance Method Details</h2>
1178
+
1179
+
1180
+ <div class="method_details first">
1181
+ <h3 class="signature first" id="add_vars!-instance_method">
1182
+
1183
+ #<strong>add_vars!</strong>(new_page) &#x21d2; <tt>Object</tt>
1184
+
1185
+
1186
+
1187
+
1188
+
1189
+ </h3><div class="docstring">
1190
+ <div class="discussion">
1191
+
1192
+ <p>Add login flow reserved vars into a page.</p>
1193
+
1194
+
1195
+ </div>
1196
+ </div>
1197
+ <div class="tags">
1198
+ <p class="tag_title">Parameters:</p>
1199
+ <ul class="param">
1200
+
1201
+ <li>
1202
+
1203
+ <span class='name'>new_page</span>
1204
+
1205
+
1206
+ <span class='type'>(<tt>Hash</tt>)</span>
1207
+
1208
+
1209
+
1210
+ &mdash;
1211
+ <div class='inline'>
1212
+ <p>Page to add login flow reserved vars.</p>
1213
+ </div>
1214
+
1215
+ </li>
1216
+
1217
+ </ul>
1218
+
1219
+
1220
+ </div><table class="source_code">
1221
+ <tr>
1222
+ <td>
1223
+ <pre class="lines">
1224
+
1225
+
1226
+ 215
1227
+ 216
1228
+ 217
1229
+ 218
1230
+ 219</pre>
1231
+ </td>
1232
+ <td>
1233
+ <pre class="code"><span class="info file"># File 'lib/dh_easy/login/flow.rb', line 215</span>
1234
+
1235
+ <span class='kw'>def</span> <span class='id identifier rubyid_add_vars!'>add_vars!</span> <span class='id identifier rubyid_new_page'>new_page</span>
1236
+ <span class='id identifier rubyid_key'>key</span> <span class='op'>=</span> <span class='id identifier rubyid_new_page'>new_page</span><span class='period'>.</span><span class='id identifier rubyid_has_key?'>has_key?</span><span class='lparen'>(</span><span class='symbol'>:vars</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='symbol'>:vars</span> <span class='op'>:</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>vars</span><span class='tstring_end'>&#39;</span></span>
1237
+ <span class='id identifier rubyid_new_page'>new_page</span><span class='lbracket'>[</span><span class='id identifier rubyid_key'>key</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span> <span class='kw'>if</span> <span class='id identifier rubyid_new_page'>new_page</span><span class='lbracket'>[</span><span class='id identifier rubyid_key'>key</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span>
1238
+ <span class='id identifier rubyid_new_page'>new_page</span><span class='lbracket'>[</span><span class='id identifier rubyid_key'>key</span><span class='rbracket'>]</span><span class='lbracket'>[</span><span class='id identifier rubyid_vars_key'>vars_key</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_config'>config</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>cookie</span><span class='tstring_end'>&#39;</span></span><span class='rbracket'>]</span>
1239
+ <span class='kw'>end</span></pre>
1240
+ </td>
1241
+ </tr>
1242
+ </table>
1243
+ </div>
1244
+
1245
+ <div class="method_details ">
1246
+ <h3 class="signature " id="clean_page_response!-instance_method">
1247
+
1248
+ #<strong>clean_page_response!</strong>(held_page) &#x21d2; <tt>Object</tt>
1249
+
1250
+
1251
+
1252
+
1253
+
1254
+ </h3><div class="docstring">
1255
+ <div class="discussion">
1256
+
1257
+ <p>Remove all response keys from a held page hash.</p>
1258
+
1259
+
1260
+ </div>
1261
+ </div>
1262
+ <div class="tags">
1263
+ <p class="tag_title">Parameters:</p>
1264
+ <ul class="param">
1265
+
1266
+ <li>
1267
+
1268
+ <span class='name'>held_page</span>
1269
+
1270
+
1271
+ <span class='type'>(<tt>Hash</tt>)</span>
1272
+
1273
+
1274
+
1275
+ &mdash;
1276
+ <div class='inline'>
1277
+ <p>Held page to clean.</p>
1278
+ </div>
1279
+
1280
+ </li>
1281
+
1282
+ </ul>
1283
+
1284
+
1285
+ </div><table class="source_code">
1286
+ <tr>
1287
+ <td>
1288
+ <pre class="lines">
1289
+
1290
+
1291
+ 197
1292
+ 198
1293
+ 199
1294
+ 200
1295
+ 201
1296
+ 202</pre>
1297
+ </td>
1298
+ <td>
1299
+ <pre class="code"><span class="info file"># File 'lib/dh_easy/login/flow.rb', line 197</span>
1300
+
1301
+ <span class='kw'>def</span> <span class='id identifier rubyid_clean_page_response!'>clean_page_response!</span> <span class='id identifier rubyid_held_page'>held_page</span>
1302
+ <span class='id identifier rubyid_keys'>keys</span> <span class='op'>=</span> <span class='id identifier rubyid_held_page'>held_page</span><span class='period'>.</span><span class='id identifier rubyid_keys'>keys</span> <span class='op'>+</span> <span class='lbracket'>[</span><span class='rbracket'>]</span>
1303
+ <span class='id identifier rubyid_keys'>keys</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_key'>key</span><span class='op'>|</span>
1304
+ <span class='id identifier rubyid_held_page'>held_page</span><span class='period'>.</span><span class='id identifier rubyid_delete'>delete</span> <span class='id identifier rubyid_key'>key</span> <span class='kw'>if</span> <span class='id identifier rubyid_response_key?'>response_key?</span> <span class='id identifier rubyid_key'>key</span>
1305
+ <span class='kw'>end</span>
1306
+ <span class='kw'>end</span></pre>
1307
+ </td>
1308
+ </tr>
1309
+ </table>
1310
+ </div>
1311
+
1312
+ <div class="method_details ">
1313
+ <h3 class="signature " id="config-instance_method">
1314
+
1315
+ #<strong>config</strong> &#x21d2; <tt>Hash</tt>
1316
+
1317
+
1318
+
1319
+
1320
+
1321
+ </h3><div class="docstring">
1322
+ <div class="discussion">
1323
+
1324
+ <p>Gets the existing login flow config or load it from app config when</p>
1325
+
1326
+ <pre class="code ruby"><code class="ruby">invalid.
1327
+ </code></pre>
1328
+
1329
+
1330
+ </div>
1331
+ </div>
1332
+ <div class="tags">
1333
+
1334
+ <p class="tag_title">Returns:</p>
1335
+ <ul class="return">
1336
+
1337
+ <li>
1338
+
1339
+
1340
+ <span class='type'>(<tt>Hash</tt>)</span>
1341
+
1342
+
1343
+
1344
+ </li>
1345
+
1346
+ </ul>
1347
+
1348
+ </div><table class="source_code">
1349
+ <tr>
1350
+ <td>
1351
+ <pre class="lines">
1352
+
1353
+
1354
+ 141
1355
+ 142
1356
+ 143
1357
+ 144
1358
+ 145
1359
+ 146
1360
+ 147</pre>
1361
+ </td>
1362
+ <td>
1363
+ <pre class="code"><span class="info file"># File 'lib/dh_easy/login/flow.rb', line 141</span>
1364
+
1365
+ <span class='kw'>def</span> <span class='id identifier rubyid_config'>config</span>
1366
+ <span class='ivar'>@config</span> <span class='op'>||=</span> <span class='kw'>nil</span>
1367
+ <span class='kw'>return</span> <span class='ivar'>@config</span> <span class='kw'>unless</span> <span class='ivar'>@config</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span>
1368
+ <span class='ivar'>@config</span> <span class='op'>=</span> <span class='id identifier rubyid_app_config'>app_config</span><span class='period'>.</span><span class='id identifier rubyid_find_config'>find_config</span> <span class='id identifier rubyid_config_key'>config_key</span>
1369
+ <span class='ivar'>@config</span><span class='period'>.</span><span class='id identifier rubyid_freeze'>freeze</span>
1370
+ <span class='ivar'>@config</span>
1371
+ <span class='kw'>end</span></pre>
1372
+ </td>
1373
+ </tr>
1374
+ </table>
1375
+ </div>
1376
+
1377
+ <div class="method_details ">
1378
+ <h3 class="signature " id="custom_fix!-instance_method">
1379
+
1380
+ #<strong>custom_fix!</strong>(held_page) &#x21d2; <tt>Object</tt>
1381
+
1382
+
1383
+
1384
+
1385
+
1386
+ </h3><div class="docstring">
1387
+ <div class="discussion">
1388
+
1389
+ <p>Execute #custom_fix block into a held page.</p>
1390
+
1391
+
1392
+ </div>
1393
+ </div>
1394
+ <div class="tags">
1395
+ <p class="tag_title">Parameters:</p>
1396
+ <ul class="param">
1397
+
1398
+ <li>
1399
+
1400
+ <span class='name'>held_page</span>
1401
+
1402
+
1403
+ <span class='type'>(<tt>Hash</tt>)</span>
1404
+
1405
+
1406
+
1407
+ &mdash;
1408
+ <div class='inline'>
1409
+ <p>Held page to fix.</p>
1410
+ </div>
1411
+
1412
+ </li>
1413
+
1414
+ </ul>
1415
+
1416
+
1417
+ </div><table class="source_code">
1418
+ <tr>
1419
+ <td>
1420
+ <pre class="lines">
1421
+
1422
+
1423
+ 224
1424
+ 225
1425
+ 226</pre>
1426
+ </td>
1427
+ <td>
1428
+ <pre class="code"><span class="info file"># File 'lib/dh_easy/login/flow.rb', line 224</span>
1429
+
1430
+ <span class='kw'>def</span> <span class='id identifier rubyid_custom_fix!'>custom_fix!</span> <span class='id identifier rubyid_held_page'>held_page</span>
1431
+ <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_custom_fix'>custom_fix</span><span class='period'>.</span><span class='id identifier rubyid_call'>call</span> <span class='id identifier rubyid_held_page'>held_page</span> <span class='kw'>unless</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_custom_fix'>custom_fix</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span>
1432
+ <span class='kw'>end</span></pre>
1433
+ </td>
1434
+ </tr>
1435
+ </table>
1436
+ </div>
1437
+
1438
+ <div class="method_details ">
1439
+ <h3 class="signature " id="expire!-instance_method">
1440
+
1441
+ #<strong>expire!</strong> &#x21d2; <tt>Object</tt>
1442
+
1443
+
1444
+
1445
+
1446
+
1447
+ </h3><div class="docstring">
1448
+ <div class="discussion">
1449
+
1450
+ <p>Set expire flag as `true`.</p>
1451
+
1452
+
1453
+ </div>
1454
+ </div>
1455
+ <div class="tags">
1456
+
1457
+
1458
+ </div><table class="source_code">
1459
+ <tr>
1460
+ <td>
1461
+ <pre class="lines">
1462
+
1463
+
1464
+ 181
1465
+ 182
1466
+ 183</pre>
1467
+ </td>
1468
+ <td>
1469
+ <pre class="code"><span class="info file"># File 'lib/dh_easy/login/flow.rb', line 181</span>
1470
+
1471
+ <span class='kw'>def</span> <span class='id identifier rubyid_expire!'>expire!</span>
1472
+ <span class='id identifier rubyid_update_config'>update_config</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>expired</span><span class='tstring_end'>&#39;</span></span> <span class='op'>=&gt;</span> <span class='kw'>true</span>
1473
+ <span class='kw'>end</span></pre>
1474
+ </td>
1475
+ </tr>
1476
+ </table>
1477
+ </div>
1478
+
1479
+ <div class="method_details ">
1480
+ <h3 class="signature " id="expired?-instance_method">
1481
+
1482
+ #<strong>expired?</strong> &#x21d2; <tt>Boolean</tt>
1483
+
1484
+
1485
+
1486
+
1487
+
1488
+ </h3><div class="docstring">
1489
+ <div class="discussion">
1490
+
1491
+ <p>Indicates whenever latest session has been set as expired.</p>
1492
+
1493
+
1494
+ </div>
1495
+ </div>
1496
+ <div class="tags">
1497
+
1498
+ <p class="tag_title">Returns:</p>
1499
+ <ul class="return">
1500
+
1501
+ <li>
1502
+
1503
+
1504
+ <span class='type'>(<tt>Boolean</tt>)</span>
1505
+
1506
+
1507
+
1508
+ &mdash;
1509
+ <div class='inline'>
1510
+ <p>`true` when expired, else `false`.</p>
1511
+ </div>
1512
+
1513
+ </li>
1514
+
1515
+ </ul>
1516
+
1517
+ </div><table class="source_code">
1518
+ <tr>
1519
+ <td>
1520
+ <pre class="lines">
1521
+
1522
+
1523
+ 176
1524
+ 177
1525
+ 178</pre>
1526
+ </td>
1527
+ <td>
1528
+ <pre class="code"><span class="info file"># File 'lib/dh_easy/login/flow.rb', line 176</span>
1529
+
1530
+ <span class='kw'>def</span> <span class='id identifier rubyid_expired?'>expired?</span>
1531
+ <span class='id identifier rubyid_config'>config</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>expired</span><span class='tstring_end'>&#39;</span></span><span class='rbracket'>]</span> <span class='op'>||</span> <span class='kw'>false</span>
1532
+ <span class='kw'>end</span></pre>
1533
+ </td>
1534
+ </tr>
1535
+ </table>
1536
+ </div>
1537
+
1538
+ <div class="method_details ">
1539
+ <h3 class="signature " id="fix_page!-instance_method">
1540
+
1541
+ #<strong>fix_page!</strong>(held_page) &#x21d2; <tt>Object</tt>
1542
+
1543
+
1544
+
1545
+
1546
+
1547
+ </h3><div class="docstring">
1548
+ <div class="discussion">
1549
+
1550
+ <p>Fixes a held page session.</p>
1551
+
1552
+
1553
+ </div>
1554
+ </div>
1555
+ <div class="tags">
1556
+ <p class="tag_title">Parameters:</p>
1557
+ <ul class="param">
1558
+
1559
+ <li>
1560
+
1561
+ <span class='name'>held_page</span>
1562
+
1563
+
1564
+ <span class='type'>(<tt>Hash</tt>)</span>
1565
+
1566
+
1567
+
1568
+ &mdash;
1569
+ <div class='inline'>
1570
+ <p>Held page to fix.</p>
1571
+ </div>
1572
+
1573
+ </li>
1574
+
1575
+ </ul>
1576
+
1577
+
1578
+ </div><table class="source_code">
1579
+ <tr>
1580
+ <td>
1581
+ <pre class="lines">
1582
+
1583
+
1584
+ 231
1585
+ 232
1586
+ 233
1587
+ 234
1588
+ 235
1589
+ 236
1590
+ 237
1591
+ 238
1592
+ 239
1593
+ 240
1594
+ 241
1595
+ 242</pre>
1596
+ </td>
1597
+ <td>
1598
+ <pre class="code"><span class="info file"># File 'lib/dh_easy/login/flow.rb', line 231</span>
1599
+
1600
+ <span class='kw'>def</span> <span class='id identifier rubyid_fix_page!'>fix_page!</span> <span class='id identifier rubyid_held_page'>held_page</span>
1601
+ <span class='id identifier rubyid_clean_page_response!'>clean_page_response!</span> <span class='id identifier rubyid_held_page'>held_page</span>
1602
+ <span class='id identifier rubyid_cookie_key'>cookie_key</span> <span class='op'>=</span> <span class='id identifier rubyid_held_page'>held_page</span><span class='period'>.</span><span class='id identifier rubyid_has_key?'>has_key?</span><span class='lparen'>(</span><span class='symbol'>:cookie</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='symbol'>:cookie</span> <span class='op'>:</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>cookie</span><span class='tstring_end'>&#39;</span></span>
1603
+ <span class='id identifier rubyid_headers_key'>headers_key</span> <span class='op'>=</span> <span class='id identifier rubyid_held_page'>held_page</span><span class='period'>.</span><span class='id identifier rubyid_has_key?'>has_key?</span><span class='lparen'>(</span><span class='symbol'>:headers</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='symbol'>:headers</span> <span class='op'>:</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>headers</span><span class='tstring_end'>&#39;</span></span>
1604
+ <span class='id identifier rubyid_held_page'>held_page</span><span class='lbracket'>[</span><span class='id identifier rubyid_cookie_key'>cookie_key</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_merge_cookie'>merge_cookie</span> <span class='id identifier rubyid_held_page'>held_page</span><span class='lbracket'>[</span><span class='id identifier rubyid_cookie_key'>cookie_key</span><span class='rbracket'>]</span>
1605
+ <span class='id identifier rubyid_held_page'>held_page</span><span class='lbracket'>[</span><span class='id identifier rubyid_headers_key'>headers_key</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span> <span class='kw'>unless</span> <span class='id identifier rubyid_held_page'>held_page</span><span class='period'>.</span><span class='id identifier rubyid_has_key?'>has_key?</span> <span class='id identifier rubyid_headers_key'>headers_key</span>
1606
+ <span class='id identifier rubyid_header_cookie_key'>header_cookie_key</span> <span class='op'>=</span> <span class='id identifier rubyid_held_page'>held_page</span><span class='lbracket'>[</span><span class='id identifier rubyid_headers_key'>headers_key</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_has_key?'>has_key?</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>cookie</span><span class='tstring_end'>&#39;</span></span><span class='rparen'>)</span> <span class='op'>?</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>cookie</span><span class='tstring_end'>&#39;</span></span> <span class='op'>:</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>Cookie</span><span class='tstring_end'>&#39;</span></span>
1607
+ <span class='id identifier rubyid_held_page'>held_page</span><span class='lbracket'>[</span><span class='id identifier rubyid_headers_key'>headers_key</span><span class='rbracket'>]</span><span class='lbracket'>[</span><span class='id identifier rubyid_header_cookie_key'>header_cookie_key</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_end'>&#39;</span></span> <span class='kw'>unless</span> <span class='id identifier rubyid_held_page'>held_page</span><span class='lbracket'>[</span><span class='id identifier rubyid_headers_key'>headers_key</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_has_key?'>has_key?</span> <span class='id identifier rubyid_header_cookie_key'>header_cookie_key</span>
1608
+ <span class='id identifier rubyid_held_page'>held_page</span><span class='lbracket'>[</span><span class='id identifier rubyid_headers_key'>headers_key</span><span class='rbracket'>]</span><span class='lbracket'>[</span><span class='id identifier rubyid_header_cookie_key'>header_cookie_key</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_merge_cookie'>merge_cookie</span> <span class='id identifier rubyid_held_page'>held_page</span><span class='lbracket'>[</span><span class='id identifier rubyid_headers_key'>headers_key</span><span class='rbracket'>]</span><span class='lbracket'>[</span><span class='id identifier rubyid_header_cookie_key'>header_cookie_key</span><span class='rbracket'>]</span>
1609
+ <span class='id identifier rubyid_add_vars!'>add_vars!</span> <span class='id identifier rubyid_held_page'>held_page</span>
1610
+ <span class='id identifier rubyid_custom_fix!'>custom_fix!</span> <span class='id identifier rubyid_held_page'>held_page</span>
1611
+ <span class='kw'>end</span></pre>
1612
+ </td>
1613
+ </tr>
1614
+ </table>
1615
+ </div>
1616
+
1617
+ <div class="method_details ">
1618
+ <h3 class="signature " id="fix_session-instance_method">
1619
+
1620
+ #<strong>fix_session</strong>(&amp;enqueue_login) &#x21d2; <tt>Object</tt>
1621
+
1622
+
1623
+
1624
+
1625
+
1626
+ </h3><div class="docstring">
1627
+ <div class="discussion">
1628
+
1629
+ <p>Fixes current page session by enqueue it using latest working session or</p>
1630
+
1631
+ <pre class="code ruby"><code class="ruby">held it for fix and enqueue login page by executing block.
1632
+ </code></pre>
1633
+
1634
+
1635
+ </div>
1636
+ </div>
1637
+ <div class="tags">
1638
+
1639
+
1640
+ </div><table class="source_code">
1641
+ <tr>
1642
+ <td>
1643
+ <pre class="lines">
1644
+
1645
+
1646
+ 246
1647
+ 247
1648
+ 248
1649
+ 249
1650
+ 250
1651
+ 251
1652
+ 252
1653
+ 253
1654
+ 254
1655
+ 255
1656
+ 256
1657
+ 257
1658
+ 258
1659
+ 259
1660
+ 260
1661
+ 261
1662
+ 262
1663
+ 263
1664
+ 264
1665
+ 265
1666
+ 266
1667
+ 267
1668
+ 268
1669
+ 269
1670
+ 270
1671
+ 271</pre>
1672
+ </td>
1673
+ <td>
1674
+ <pre class="code"><span class="info file"># File 'lib/dh_easy/login/flow.rb', line 246</span>
1675
+
1676
+ <span class='kw'>def</span> <span class='id identifier rubyid_fix_session'>fix_session</span> <span class='op'>&amp;</span><span class='id identifier rubyid_enqueue_login'>enqueue_login</span>
1677
+ <span class='comment'># Expire cookie when same as current page
1678
+ </span> <span class='id identifier rubyid_old_cookie_hash'>old_cookie_hash</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="../../DhEasy.html" title="DhEasy (module)">DhEasy</a></span></span><span class='op'>::</span><span class='const'>Core</span><span class='op'>::</span><span class='const'>Helper</span><span class='op'>::</span><span class='const'>Cookie</span><span class='period'>.</span><span class='id identifier rubyid_parse_from_request'>parse_from_request</span> <span class='id identifier rubyid_page'>page</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>vars</span><span class='tstring_end'>&#39;</span></span><span class='rbracket'>]</span><span class='lbracket'>[</span><span class='id identifier rubyid_vars_key'>vars_key</span><span class='rbracket'>]</span>
1679
+ <span class='id identifier rubyid_newest_cookie_hash'>newest_cookie_hash</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="../../DhEasy.html" title="DhEasy (module)">DhEasy</a></span></span><span class='op'>::</span><span class='const'>Core</span><span class='op'>::</span><span class='const'>Helper</span><span class='op'>::</span><span class='const'>Cookie</span><span class='period'>.</span><span class='id identifier rubyid_parse_from_request'>parse_from_request</span> <span class='id identifier rubyid_config'>config</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>cookie</span><span class='tstring_end'>&#39;</span></span><span class='rbracket'>]</span>
1680
+ <span class='id identifier rubyid_same_cookie'>same_cookie</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="../../DhEasy.html" title="DhEasy (module)">DhEasy</a></span></span><span class='op'>::</span><span class='const'>Core</span><span class='op'>::</span><span class='const'>Helper</span><span class='op'>::</span><span class='const'>Cookie</span><span class='period'>.</span><span class='id identifier rubyid_include?'>include?</span> <span class='id identifier rubyid_old_cookie_hash'>old_cookie_hash</span><span class='comma'>,</span> <span class='id identifier rubyid_newest_cookie_hash'>newest_cookie_hash</span>
1681
+ <span class='id identifier rubyid_expire!'>expire!</span> <span class='kw'>if</span> <span class='id identifier rubyid_same_cookie'>same_cookie</span> <span class='op'>&amp;&amp;</span> <span class='op'>!</span><span class='id identifier rubyid_config'>config</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>expired</span><span class='tstring_end'>&#39;</span></span><span class='rbracket'>]</span>
1682
+
1683
+ <span class='comment'># Hold self page
1684
+ </span> <span class='kw'>if</span> <span class='id identifier rubyid_config'>config</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>expired</span><span class='tstring_end'>&#39;</span></span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span> <span class='op'>||</span> <span class='id identifier rubyid_config'>config</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>expired</span><span class='tstring_end'>&#39;</span></span><span class='rbracket'>]</span>
1685
+ <span class='id identifier rubyid_held_page'>held_page</span> <span class='op'>=</span> <span class='id identifier rubyid_page'>page</span><span class='period'>.</span><span class='id identifier rubyid_merge'>merge</span><span class='lparen'>(</span><span class='lbrace'>{</span><span class='rbrace'>}</span><span class='rparen'>)</span>
1686
+ <span class='id identifier rubyid_clean_page_response!'>clean_page_response!</span><span class='lparen'>(</span><span class='id identifier rubyid_held_page'>held_page</span><span class='rparen'>)</span> <span class='kw'>unless</span> <span class='id identifier rubyid_keep_response_keys'>keep_response_keys</span>
1687
+ <span class='id identifier rubyid_save'>save</span><span class='lparen'>(</span>
1688
+ <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>_collection</span><span class='tstring_end'>&#39;</span></span> <span class='op'>=&gt;</span> <span class='id identifier rubyid_collection'>collection</span><span class='comma'>,</span>
1689
+ <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_page'>page</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>gid</span><span class='tstring_end'>&#39;</span></span><span class='rbracket'>]</span><span class='comma'>,</span>
1690
+ <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>page</span><span class='tstring_end'>&#39;</span></span> <span class='op'>=&gt;</span> <span class='id identifier rubyid_held_page'>held_page</span><span class='comma'>,</span>
1691
+ <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>fetched</span><span class='tstring_end'>&#39;</span></span> <span class='op'>=&gt;</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>0</span><span class='tstring_end'>&#39;</span></span>
1692
+ <span class='rparen'>)</span>
1693
+ <span class='id identifier rubyid_enqueue_login'>enqueue_login</span><span class='period'>.</span><span class='id identifier rubyid_call'>call</span> <span class='kw'>unless</span> <span class='id identifier rubyid_enqueue_login'>enqueue_login</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span>
1694
+ <span class='kw'>return</span>
1695
+ <span class='kw'>end</span>
1696
+
1697
+ <span class='comment'># Refetch self with new session
1698
+ </span> <span class='id identifier rubyid_new_page'>new_page</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span><span class='period'>.</span><span class='id identifier rubyid_merge'>merge</span> <span class='id identifier rubyid_page'>page</span>
1699
+ <span class='id identifier rubyid_fix_page!'>fix_page!</span> <span class='id identifier rubyid_new_page'>new_page</span>
1700
+ <span class='id identifier rubyid_enqueue'>enqueue</span> <span class='id identifier rubyid_new_page'>new_page</span>
1701
+ <span class='kw'>end</span></pre>
1702
+ </td>
1703
+ </tr>
1704
+ </table>
1705
+ </div>
1706
+
1707
+ <div class="method_details ">
1708
+ <h3 class="signature " id="initialize_hook_login_flow-instance_method">
1709
+
1710
+ #<strong>initialize_hook_login_flow</strong>(opts = {}) &#x21d2; <tt>Object</tt>
1711
+
1712
+
1713
+
1714
+
1715
+
1716
+ </h3><div class="docstring">
1717
+ <div class="discussion">
1718
+
1719
+ <div class="note notetag">
1720
+ <strong>Note:</strong>
1721
+ <div class='inline'>
1722
+ <p>`<a href=":response_keys">opts</a>` will default to a predefined list
1723
+ whenever `nil`.</p>
1724
+ </div>
1725
+ </div>
1726
+
1727
+
1728
+ <p>Hook to initialize login flow configuration.</p>
1729
+
1730
+
1731
+ </div>
1732
+ </div>
1733
+ <div class="tags">
1734
+ <p class="tag_title">Parameters:</p>
1735
+ <ul class="param">
1736
+
1737
+ <li>
1738
+
1739
+ <span class='name'>opts</span>
1740
+
1741
+
1742
+ <span class='type'>(<tt>Hash</tt>)</span>
1743
+
1744
+
1745
+ <em class="default">(defaults to: <tt>{}</tt>)</em>
1746
+
1747
+
1748
+ &mdash;
1749
+ <div class='inline'>
1750
+ <p>({}) Configuration options.</p>
1751
+ </div>
1752
+
1753
+ </li>
1754
+
1755
+ </ul>
1756
+
1757
+
1758
+
1759
+
1760
+ <p class="tag_title">Options Hash (<tt>opts</tt>):</p>
1761
+ <ul class="option">
1762
+
1763
+ <li>
1764
+ <span class="name">:app_config</span>
1765
+ <span class="type">(<tt>DhEasy::Core::Config</tt>)</span>
1766
+ <span class="default">
1767
+
1768
+ &mdash; default:
1769
+ <tt>nil</tt>
1770
+
1771
+ </span>
1772
+
1773
+ &mdash; <div class='inline'>
1774
+ <p>App configuration to use.</p>
1775
+ </div>
1776
+
1777
+ </li>
1778
+
1779
+ <li>
1780
+ <span class="name">:per_page</span>
1781
+ <span class="type">(<tt>Integer</tt>)</span>
1782
+ <span class="default">
1783
+
1784
+ &mdash; default:
1785
+ <tt>100</tt>
1786
+
1787
+ </span>
1788
+
1789
+ &mdash; <div class='inline'>
1790
+ <p>Batch size used on query outputs.</p>
1791
+ </div>
1792
+
1793
+ </li>
1794
+
1795
+ <li>
1796
+ <span class="name">:collection</span>
1797
+ <span class="type">(<tt>String</tt>)</span>
1798
+ <span class="default">
1799
+
1800
+ &mdash; default:
1801
+ <tt>&#39;login_flow_held_pages&#39;</tt>
1802
+
1803
+ </span>
1804
+
1805
+ &mdash; <div class='inline'>
1806
+ <p>Output collection used to store held pages to be fixed and fetched.</p>
1807
+ </div>
1808
+
1809
+ </li>
1810
+
1811
+ <li>
1812
+ <span class="name">:config_key</span>
1813
+ <span class="type">(<tt>String</tt>)</span>
1814
+ <span class="default">
1815
+
1816
+ &mdash; default:
1817
+ <tt>&#39;login_flow&#39;</tt>
1818
+
1819
+ </span>
1820
+
1821
+ &mdash; <div class='inline'>
1822
+ <p>Key to be used to store login flow configuration data at #app_config.</p>
1823
+ </div>
1824
+
1825
+ </li>
1826
+
1827
+ <li>
1828
+ <span class="name">:vars_key</span>
1829
+ <span class="type">(<tt>String</tt>)</span>
1830
+ <span class="default">
1831
+
1832
+ &mdash; default:
1833
+ <tt>&#39;login_flow_cookie&#39;</tt>
1834
+
1835
+ </span>
1836
+
1837
+ &mdash; <div class='inline'>
1838
+ <p>Page&#39;s “vars” key to store the login cookie used to fetch.</p>
1839
+ </div>
1840
+
1841
+ </li>
1842
+
1843
+ <li>
1844
+ <span class="name">:reponse_keys</span>
1845
+ <span class="type">(<tt>String</tt>)</span>
1846
+ <span class="default">
1847
+
1848
+ &mdash; default:
1849
+ <tt>nil</tt>
1850
+
1851
+ </span>
1852
+
1853
+ &mdash; <div class='inline'>
1854
+ <p>Response keys to remove from a held page before enqueue it again.</p>
1855
+ </div>
1856
+
1857
+ </li>
1858
+
1859
+ <li>
1860
+ <span class="name">:custom_fix</span>
1861
+ <span class="type">(<tt>Block</tt>)</span>
1862
+ <span class="default">
1863
+
1864
+ &mdash; default:
1865
+ <tt>nil</tt>
1866
+
1867
+ </span>
1868
+
1869
+ &mdash; <div class='inline'>
1870
+ <p>Custom block to be executed on fixing a held page.</p>
1871
+ </div>
1872
+
1873
+ </li>
1874
+
1875
+ </ul>
1876
+
1877
+
1878
+ <p class="tag_title">Raises:</p>
1879
+ <ul class="raise">
1880
+
1881
+ <li>
1882
+
1883
+
1884
+ <span class='type'>(<tt>ArgumentError</tt>)</span>
1885
+
1886
+
1887
+
1888
+ &mdash;
1889
+ <div class='inline'>
1890
+ <p>When `<a href=":app_config">opts</a>` is not provided or `nil`.</p>
1891
+ </div>
1892
+
1893
+ </li>
1894
+
1895
+ </ul>
1896
+
1897
+ </div><table class="source_code">
1898
+ <tr>
1899
+ <td>
1900
+ <pre class="lines">
1901
+
1902
+
1903
+ 59
1904
+ 60
1905
+ 61
1906
+ 62
1907
+ 63
1908
+ 64
1909
+ 65
1910
+ 66
1911
+ 67
1912
+ 68
1913
+ 69
1914
+ 70
1915
+ 71
1916
+ 72</pre>
1917
+ </td>
1918
+ <td>
1919
+ <pre class="code"><span class="info file"># File 'lib/dh_easy/login/flow.rb', line 59</span>
1920
+
1921
+ <span class='kw'>def</span> <span class='id identifier rubyid_initialize_hook_login_flow'>initialize_hook_login_flow</span> <span class='id identifier rubyid_opts'>opts</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span>
1922
+ <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_per_page'>per_page</span> <span class='op'>=</span> <span class='id identifier rubyid_opts'>opts</span><span class='lbracket'>[</span><span class='symbol'>:per_page</span><span class='rbracket'>]</span> <span class='op'>||</span> <span class='int'>100</span>
1923
+ <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_collection'>collection</span> <span class='op'>=</span> <span class='id identifier rubyid_opts'>opts</span><span class='lbracket'>[</span><span class='symbol'>:collection</span><span class='rbracket'>]</span> <span class='op'>||</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>login_flow_held_pages</span><span class='tstring_end'>&#39;</span></span>
1924
+ <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_config_key'>config_key</span> <span class='op'>=</span> <span class='id identifier rubyid_opts'>opts</span><span class='lbracket'>[</span><span class='symbol'>:config_key</span><span class='rbracket'>]</span> <span class='op'>||</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>login_flow</span><span class='tstring_end'>&#39;</span></span>
1925
+ <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_vars_key'>vars_key</span> <span class='op'>=</span> <span class='id identifier rubyid_opts'>opts</span><span class='lbracket'>[</span><span class='symbol'>:vars_key</span><span class='rbracket'>]</span> <span class='op'>||</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>login_flow_cookie</span><span class='tstring_end'>&#39;</span></span>
1926
+ <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_response_keys'>response_keys</span> <span class='op'>=</span> <span class='id identifier rubyid_opts'>opts</span><span class='lbracket'>[</span><span class='symbol'>:reponse_keys</span><span class='rbracket'>]</span> <span class='op'>||</span> <span class='kw'>nil</span>
1927
+ <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_app_config'>app_config</span> <span class='op'>=</span> <span class='id identifier rubyid_opts'>opts</span><span class='lbracket'>[</span><span class='symbol'>:app_config</span><span class='rbracket'>]</span> <span class='op'>||</span> <span class='kw'>nil</span>
1928
+ <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_custom_fix'>custom_fix</span> <span class='op'>=</span> <span class='id identifier rubyid_opts'>opts</span><span class='lbracket'>[</span><span class='symbol'>:custom_fix</span><span class='rbracket'>]</span> <span class='op'>||</span> <span class='kw'>nil</span>
1929
+ <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_keep_response_keys'>keep_response_keys</span> <span class='op'>=</span> <span class='id identifier rubyid_opts'>opts</span><span class='lbracket'>[</span><span class='symbol'>:keep_response_keys</span><span class='rbracket'>]</span> <span class='op'>||</span> <span class='kw'>false</span>
1930
+
1931
+ <span class='kw'>if</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_app_config'>app_config</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span>
1932
+ <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'>&#39;</span><span class='tstring_content'>&quot;:app_config&quot; option is required!</span><span class='tstring_end'>&#39;</span></span><span class='rparen'>)</span>
1933
+ <span class='kw'>end</span>
1934
+ <span class='kw'>end</span></pre>
1935
+ </td>
1936
+ </tr>
1937
+ </table>
1938
+ </div>
1939
+
1940
+ <div class="method_details ">
1941
+ <h3 class="signature " id="merge_cookie-instance_method">
1942
+
1943
+ #<strong>merge_cookie</strong>(old_cookie) &#x21d2; <tt>Object</tt>
1944
+
1945
+
1946
+
1947
+
1948
+
1949
+ </h3><div class="docstring">
1950
+ <div class="discussion">
1951
+
1952
+ <p>Updates an old cookie with current cookie saved on app configuration.</p>
1953
+
1954
+
1955
+ </div>
1956
+ </div>
1957
+ <div class="tags">
1958
+ <p class="tag_title">Parameters:</p>
1959
+ <ul class="param">
1960
+
1961
+ <li>
1962
+
1963
+ <span class='name'>old_cookie</span>
1964
+
1965
+
1966
+ <span class='type'>(<tt>String</tt>, <tt>Array</tt>, <tt>Hash</tt>)</span>
1967
+
1968
+
1969
+
1970
+ &mdash;
1971
+ <div class='inline'>
1972
+ <p>Old cookie to update.</p>
1973
+ </div>
1974
+
1975
+ </li>
1976
+
1977
+ </ul>
1978
+
1979
+
1980
+ </div><table class="source_code">
1981
+ <tr>
1982
+ <td>
1983
+ <pre class="lines">
1984
+
1985
+
1986
+ 207
1987
+ 208
1988
+ 209
1989
+ 210</pre>
1990
+ </td>
1991
+ <td>
1992
+ <pre class="code"><span class="info file"># File 'lib/dh_easy/login/flow.rb', line 207</span>
1993
+
1994
+ <span class='kw'>def</span> <span class='id identifier rubyid_merge_cookie'>merge_cookie</span> <span class='id identifier rubyid_old_cookie'>old_cookie</span>
1995
+ <span class='kw'>return</span> <span class='id identifier rubyid_config'>config</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>cookie</span><span class='tstring_end'>&#39;</span></span><span class='rbracket'>]</span> <span class='kw'>if</span> <span class='id identifier rubyid_old_cookie'>old_cookie</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span>
1996
+ <span class='const'><span class='object_link'><a href="../../DhEasy.html" title="DhEasy (module)">DhEasy</a></span></span><span class='op'>::</span><span class='const'>Core</span><span class='op'>::</span><span class='const'>Helper</span><span class='op'>::</span><span class='const'>Cookie</span><span class='period'>.</span><span class='id identifier rubyid_update'>update</span> <span class='id identifier rubyid_old_cookie'>old_cookie</span><span class='comma'>,</span> <span class='id identifier rubyid_config'>config</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>cookie</span><span class='tstring_end'>&#39;</span></span><span class='rbracket'>]</span>
1997
+ <span class='kw'>end</span></pre>
1998
+ </td>
1999
+ </tr>
2000
+ </table>
2001
+ </div>
2002
+
2003
+ <div class="method_details ">
2004
+ <h3 class="signature " id="reload_config-instance_method">
2005
+
2006
+ #<strong>reload_config</strong> &#x21d2; <tt>Object</tt>
2007
+
2008
+
2009
+
2010
+
2011
+
2012
+ </h3><div class="docstring">
2013
+ <div class="discussion">
2014
+
2015
+ <p>Invalidates login flow config, so it is reloaded on next config usage.</p>
2016
+
2017
+
2018
+ </div>
2019
+ </div>
2020
+ <div class="tags">
2021
+
2022
+
2023
+ </div><table class="source_code">
2024
+ <tr>
2025
+ <td>
2026
+ <pre class="lines">
2027
+
2028
+
2029
+ 133
2030
+ 134
2031
+ 135</pre>
2032
+ </td>
2033
+ <td>
2034
+ <pre class="code"><span class="info file"># File 'lib/dh_easy/login/flow.rb', line 133</span>
2035
+
2036
+ <span class='kw'>def</span> <span class='id identifier rubyid_reload_config'>reload_config</span>
2037
+ <span class='ivar'>@config</span> <span class='op'>=</span> <span class='kw'>nil</span>
2038
+ <span class='kw'>end</span></pre>
2039
+ </td>
2040
+ </tr>
2041
+ </table>
2042
+ </div>
2043
+
2044
+ <div class="method_details ">
2045
+ <h3 class="signature " id="response_key?-instance_method">
2046
+
2047
+ #<strong>response_key?</strong>(key) &#x21d2; <tt>Boolean</tt>
2048
+
2049
+
2050
+
2051
+
2052
+
2053
+ </h3><div class="docstring">
2054
+ <div class="discussion">
2055
+
2056
+ <p>Check whenever a key name is categorized as a response key.</p>
2057
+
2058
+
2059
+ </div>
2060
+ </div>
2061
+ <div class="tags">
2062
+ <p class="tag_title">Parameters:</p>
2063
+ <ul class="param">
2064
+
2065
+ <li>
2066
+
2067
+ <span class='name'>key</span>
2068
+
2069
+
2070
+ <span class='type'>(<tt>String</tt>)</span>
2071
+
2072
+
2073
+
2074
+ &mdash;
2075
+ <div class='inline'>
2076
+ <p>Key name to check.</p>
2077
+ </div>
2078
+
2079
+ </li>
2080
+
2081
+ </ul>
2082
+
2083
+ <p class="tag_title">Returns:</p>
2084
+ <ul class="return">
2085
+
2086
+ <li>
2087
+
2088
+
2089
+ <span class='type'>(<tt>Boolean</tt>)</span>
2090
+
2091
+
2092
+
2093
+ &mdash;
2094
+ <div class='inline'>
2095
+ <p>`true` when key name is a response key, else `false`.</p>
2096
+ </div>
2097
+
2098
+ </li>
2099
+
2100
+ </ul>
2101
+
2102
+ </div><table class="source_code">
2103
+ <tr>
2104
+ <td>
2105
+ <pre class="lines">
2106
+
2107
+
2108
+ 190
2109
+ 191
2110
+ 192</pre>
2111
+ </td>
2112
+ <td>
2113
+ <pre class="code"><span class="info file"># File 'lib/dh_easy/login/flow.rb', line 190</span>
2114
+
2115
+ <span class='kw'>def</span> <span class='id identifier rubyid_response_key?'>response_key?</span> <span class='id identifier rubyid_key'>key</span>
2116
+ <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_response_keys'>response_keys</span><span class='period'>.</span><span class='id identifier rubyid_include?'>include?</span> <span class='id identifier rubyid_key'>key</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span><span class='period'>.</span><span class='id identifier rubyid_strip'>strip</span>
2117
+ <span class='kw'>end</span></pre>
2118
+ </td>
2119
+ </tr>
2120
+ </table>
2121
+ </div>
2122
+
2123
+ <div class="method_details ">
2124
+ <h3 class="signature " id="response_keys-instance_method">
2125
+
2126
+ #<strong>response_keys</strong> &#x21d2; <tt>Array&lt;String&gt;</tt>
2127
+
2128
+
2129
+
2130
+
2131
+
2132
+ </h3><div class="docstring">
2133
+ <div class="discussion">
2134
+
2135
+ <p>Response keys to remove from a held page before enqueue it again.</p>
2136
+
2137
+
2138
+ </div>
2139
+ </div>
2140
+ <div class="tags">
2141
+
2142
+ <p class="tag_title">Returns:</p>
2143
+ <ul class="return">
2144
+
2145
+ <li>
2146
+
2147
+
2148
+ <span class='type'>(<tt>Array&lt;String&gt;</tt>)</span>
2149
+
2150
+
2151
+
2152
+ </li>
2153
+
2154
+ </ul>
2155
+
2156
+ </div><table class="source_code">
2157
+ <tr>
2158
+ <td>
2159
+ <pre class="lines">
2160
+
2161
+
2162
+ 77
2163
+ 78
2164
+ 79
2165
+ 80
2166
+ 81
2167
+ 82
2168
+ 83
2169
+ 84
2170
+ 85
2171
+ 86
2172
+ 87
2173
+ 88
2174
+ 89
2175
+ 90
2176
+ 91
2177
+ 92
2178
+ 93
2179
+ 94
2180
+ 95
2181
+ 96
2182
+ 97
2183
+ 98
2184
+ 99
2185
+ 100
2186
+ 101
2187
+ 102
2188
+ 103
2189
+ 104
2190
+ 105
2191
+ 106
2192
+ 107
2193
+ 108
2194
+ 109
2195
+ 110
2196
+ 111
2197
+ 112
2198
+ 113
2199
+ 114
2200
+ 115
2201
+ 116
2202
+ 117
2203
+ 118
2204
+ 119
2205
+ 120
2206
+ 121
2207
+ 122
2208
+ 123</pre>
2209
+ </td>
2210
+ <td>
2211
+ <pre class="code"><span class="info file"># File 'lib/dh_easy/login/flow.rb', line 77</span>
2212
+
2213
+ <span class='kw'>def</span> <span class='id identifier rubyid_response_keys'>response_keys</span>
2214
+ <span class='ivar'>@response_keys</span> <span class='op'>||=</span> <span class='lbracket'>[</span>
2215
+ <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>content_size</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span>
2216
+ <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>content_type</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span>
2217
+ <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>created_at</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span>
2218
+ <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>effective_url</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span>
2219
+ <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>failed_at</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span>
2220
+ <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>failed_cid</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span>
2221
+ <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>failed_content_size</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span>
2222
+ <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>failed_content_type</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span>
2223
+ <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>failed_effective_url</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span>
2224
+ <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>failed_response_checksum</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span>
2225
+ <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>failed_response_cookie</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span>
2226
+ <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>failed_response_headers</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span>
2227
+ <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>failed_response_proto</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span>
2228
+ <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>failed_response_status_code</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span>
2229
+ <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>failed_response_status</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span>
2230
+ <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>fetched_at</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span>
2231
+ <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>fetched_from</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span>
2232
+ <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>fetching_at</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span>
2233
+ <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>fetching_try_count</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span>
2234
+ <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>forced_fetch</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span>
2235
+ <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>fresh</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span>
2236
+ <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>gid</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span>
2237
+ <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>hostname</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span>
2238
+ <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>job_id</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span>
2239
+ <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>job_status</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span>
2240
+ <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>parsed_at</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span>
2241
+ <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>parsing_at</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span>
2242
+ <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>parsing_fail_count</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span>
2243
+ <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>parsing_failed_at</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span>
2244
+ <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>parsing_status</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span>
2245
+ <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>parsing_try_count</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span>
2246
+ <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>parsing_updated_at</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span>
2247
+ <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>response_checksum</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span>
2248
+ <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>response_cookie</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span>
2249
+ <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>response_headers</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span>
2250
+ <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>response_proto</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span>
2251
+ <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>response_status_code</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span>
2252
+ <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>response_status</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span>
2253
+ <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>status</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span>
2254
+ <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>to_fetch</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span>
2255
+ <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>total_failures</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span>
2256
+ <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>total_requests</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span>
2257
+ <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>total_successes</span><span class='tstring_end'>&#39;</span></span>
2258
+ <span class='rbracket'>]</span>
2259
+ <span class='kw'>end</span></pre>
2260
+ </td>
2261
+ </tr>
2262
+ </table>
2263
+ </div>
2264
+
2265
+ <div class="method_details ">
2266
+ <h3 class="signature " id="response_keys=-instance_method">
2267
+
2268
+ #<strong>response_keys=</strong>(value) &#x21d2; <tt>Object</tt>
2269
+
2270
+
2271
+
2272
+
2273
+
2274
+ </h3><div class="docstring">
2275
+ <div class="discussion">
2276
+
2277
+ <p>Set response key list to remove from a page before enqueue it again.</p>
2278
+
2279
+
2280
+ </div>
2281
+ </div>
2282
+ <div class="tags">
2283
+ <p class="tag_title">Parameters:</p>
2284
+ <ul class="param">
2285
+
2286
+ <li>
2287
+
2288
+ <span class='name'>value</span>
2289
+
2290
+
2291
+ <span class='type'>(<tt>Array&lt;String&gt;</tt>)</span>
2292
+
2293
+
2294
+
2295
+ &mdash;
2296
+ <div class='inline'>
2297
+ <p>Response key list.</p>
2298
+ </div>
2299
+
2300
+ </li>
2301
+
2302
+ </ul>
2303
+
2304
+
2305
+ </div><table class="source_code">
2306
+ <tr>
2307
+ <td>
2308
+ <pre class="lines">
2309
+
2310
+
2311
+ 128
2312
+ 129
2313
+ 130</pre>
2314
+ </td>
2315
+ <td>
2316
+ <pre class="code"><span class="info file"># File 'lib/dh_easy/login/flow.rb', line 128</span>
2317
+
2318
+ <span class='kw'>def</span> <span class='id identifier rubyid_response_keys='>response_keys=</span> <span class='id identifier rubyid_value'>value</span>
2319
+ <span class='ivar'>@response_keys</span> <span class='op'>=</span> <span class='id identifier rubyid_value'>value</span>
2320
+ <span class='kw'>end</span></pre>
2321
+ </td>
2322
+ </tr>
2323
+ </table>
2324
+ </div>
2325
+
2326
+ <div class="method_details ">
2327
+ <h3 class="signature " id="restore_held_pages-instance_method">
2328
+
2329
+ #<strong>restore_held_pages</strong> &#x21d2; <tt>Object</tt>
2330
+
2331
+
2332
+
2333
+
2334
+
2335
+ </h3><div class="docstring">
2336
+ <div class="discussion">
2337
+
2338
+ <p>Restore all held pages stored as outputs.</p>
2339
+
2340
+
2341
+ </div>
2342
+ </div>
2343
+ <div class="tags">
2344
+
2345
+
2346
+ </div><table class="source_code">
2347
+ <tr>
2348
+ <td>
2349
+ <pre class="lines">
2350
+
2351
+
2352
+ 274
2353
+ 275
2354
+ 276
2355
+ 277
2356
+ 278
2357
+ 279
2358
+ 280
2359
+ 281
2360
+ 282
2361
+ 283
2362
+ 284
2363
+ 285
2364
+ 286
2365
+ 287
2366
+ 288
2367
+ 289
2368
+ 290
2369
+ 291
2370
+ 292
2371
+ 293
2372
+ 294</pre>
2373
+ </td>
2374
+ <td>
2375
+ <pre class="code"><span class="info file"># File 'lib/dh_easy/login/flow.rb', line 274</span>
2376
+
2377
+ <span class='kw'>def</span> <span class='id identifier rubyid_restore_held_pages'>restore_held_pages</span>
2378
+ <span class='id identifier rubyid_current_page'>current_page</span> <span class='op'>=</span> <span class='int'>1</span>
2379
+ <span class='id identifier rubyid_held_pages'>held_pages</span> <span class='op'>=</span> <span class='id identifier rubyid_find_outputs'>find_outputs</span> <span class='id identifier rubyid_collection'>collection</span><span class='comma'>,</span> <span class='lbrace'>{</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>fetched</span><span class='tstring_end'>&#39;</span></span> <span class='op'>=&gt;</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>0</span><span class='tstring_end'>&#39;</span></span><span class='rbrace'>}</span><span class='comma'>,</span> <span class='id identifier rubyid_current_page'>current_page</span><span class='comma'>,</span> <span class='id identifier rubyid_per_page'>per_page</span>
2380
+ <span class='kw'>while</span> <span class='op'>!</span><span class='id identifier rubyid_held_pages'>held_pages</span><span class='op'>&amp;.</span><span class='id identifier rubyid_first'>first</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span> <span class='kw'>do</span>
2381
+ <span class='id identifier rubyid_held_pages'>held_pages</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_output'>output</span><span class='op'>|</span>
2382
+ <span class='comment'># Parse and seed pages
2383
+ </span> <span class='id identifier rubyid_held_page'>held_page</span> <span class='op'>=</span> <span class='id identifier rubyid_output'>output</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>page</span><span class='tstring_end'>&#39;</span></span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_is_a?'>is_a?</span><span class='lparen'>(</span><span class='const'>String</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='const'>JSON</span><span class='period'>.</span><span class='id identifier rubyid_parse'>parse</span><span class='lparen'>(</span><span class='id identifier rubyid_output'>output</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>page</span><span class='tstring_end'>&#39;</span></span><span class='rbracket'>]</span><span class='rparen'>)</span> <span class='op'>:</span> <span class='id identifier rubyid_output'>output</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>page</span><span class='tstring_end'>&#39;</span></span><span class='rbracket'>]</span>
2384
+ <span class='id identifier rubyid_fix_page!'>fix_page!</span> <span class='id identifier rubyid_held_page'>held_page</span>
2385
+ <span class='id identifier rubyid_pages'>pages</span> <span class='op'>&lt;&lt;</span> <span class='id identifier rubyid_held_page'>held_page</span>
2386
+
2387
+ <span class='id identifier rubyid_output'>output</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>fetched</span><span class='tstring_end'>&#39;</span></span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>1</span><span class='tstring_end'>&#39;</span></span>
2388
+ <span class='id identifier rubyid_outputs'>outputs</span> <span class='op'>&lt;&lt;</span> <span class='id identifier rubyid_output'>output</span>
2389
+ <span class='kw'>end</span>
2390
+
2391
+ <span class='comment'># Fetch next page
2392
+ </span> <span class='id identifier rubyid_current_page'>current_page</span> <span class='op'>+=</span> <span class='int'>1</span>
2393
+ <span class='id identifier rubyid_enqueue'>enqueue</span> <span class='id identifier rubyid_pages'>pages</span>
2394
+ <span class='id identifier rubyid_save'>save</span> <span class='id identifier rubyid_outputs'>outputs</span>
2395
+ <span class='id identifier rubyid_held_pages'>held_pages</span> <span class='op'>=</span> <span class='id identifier rubyid_find_outputs'>find_outputs</span> <span class='id identifier rubyid_collection'>collection</span><span class='comma'>,</span> <span class='lbrace'>{</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>fetched</span><span class='tstring_end'>&#39;</span></span> <span class='op'>=&gt;</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>0</span><span class='tstring_end'>&#39;</span></span><span class='rbrace'>}</span><span class='comma'>,</span> <span class='id identifier rubyid_current_page'>current_page</span><span class='comma'>,</span> <span class='id identifier rubyid_per_page'>per_page</span>
2396
+ <span class='kw'>end</span>
2397
+ <span class='kw'>end</span></pre>
2398
+ </td>
2399
+ </tr>
2400
+ </table>
2401
+ </div>
2402
+
2403
+ <div class="method_details ">
2404
+ <h3 class="signature " id="seeded!-instance_method">
2405
+
2406
+ #<strong>seeded!</strong> &#x21d2; <tt>Object</tt>
2407
+
2408
+
2409
+
2410
+
2411
+
2412
+ </h3><div class="docstring">
2413
+ <div class="discussion">
2414
+
2415
+ <p>Set seeded flag as `true`.</p>
2416
+
2417
+
2418
+ </div>
2419
+ </div>
2420
+ <div class="tags">
2421
+
2422
+
2423
+ </div><table class="source_code">
2424
+ <tr>
2425
+ <td>
2426
+ <pre class="lines">
2427
+
2428
+
2429
+ 169
2430
+ 170
2431
+ 171</pre>
2432
+ </td>
2433
+ <td>
2434
+ <pre class="code"><span class="info file"># File 'lib/dh_easy/login/flow.rb', line 169</span>
2435
+
2436
+ <span class='kw'>def</span> <span class='id identifier rubyid_seeded!'>seeded!</span>
2437
+ <span class='id identifier rubyid_update_config'>update_config</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>seeded</span><span class='tstring_end'>&#39;</span></span> <span class='op'>=&gt;</span> <span class='kw'>true</span>
2438
+ <span class='kw'>end</span></pre>
2439
+ </td>
2440
+ </tr>
2441
+ </table>
2442
+ </div>
2443
+
2444
+ <div class="method_details ">
2445
+ <h3 class="signature " id="seeded?-instance_method">
2446
+
2447
+ #<strong>seeded?</strong> &#x21d2; <tt>Boolean</tt>
2448
+
2449
+
2450
+
2451
+
2452
+
2453
+ </h3><div class="docstring">
2454
+ <div class="discussion">
2455
+
2456
+ <p>Indicates whenever login flow has been seeded. Useful when using files</p>
2457
+
2458
+ <pre class="code ruby"><code class="ruby">to held pages.
2459
+ </code></pre>
2460
+
2461
+
2462
+ </div>
2463
+ </div>
2464
+ <div class="tags">
2465
+
2466
+ <p class="tag_title">Returns:</p>
2467
+ <ul class="return">
2468
+
2469
+ <li>
2470
+
2471
+
2472
+ <span class='type'>(<tt>Boolean</tt>)</span>
2473
+
2474
+
2475
+
2476
+ &mdash;
2477
+ <div class='inline'>
2478
+ <p>`true` if seeded, else `false`.</p>
2479
+ </div>
2480
+
2481
+ </li>
2482
+
2483
+ </ul>
2484
+
2485
+ </div><table class="source_code">
2486
+ <tr>
2487
+ <td>
2488
+ <pre class="lines">
2489
+
2490
+
2491
+ 153
2492
+ 154
2493
+ 155</pre>
2494
+ </td>
2495
+ <td>
2496
+ <pre class="code"><span class="info file"># File 'lib/dh_easy/login/flow.rb', line 153</span>
2497
+
2498
+ <span class='kw'>def</span> <span class='id identifier rubyid_seeded?'>seeded?</span>
2499
+ <span class='id identifier rubyid_config'>config</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>seeded</span><span class='tstring_end'>&#39;</span></span><span class='rbracket'>]</span> <span class='op'>||</span> <span class='kw'>false</span>
2500
+ <span class='kw'>end</span></pre>
2501
+ </td>
2502
+ </tr>
2503
+ </table>
2504
+ </div>
2505
+
2506
+ <div class="method_details ">
2507
+ <h3 class="signature " id="update_config-instance_method">
2508
+
2509
+ #<strong>update_config</strong>(data = {}) &#x21d2; <tt>Object</tt>
2510
+
2511
+
2512
+
2513
+
2514
+
2515
+ </h3><div class="docstring">
2516
+ <div class="discussion">
2517
+
2518
+ <p>Updates app configuration.</p>
2519
+
2520
+
2521
+ </div>
2522
+ </div>
2523
+ <div class="tags">
2524
+ <p class="tag_title">Parameters:</p>
2525
+ <ul class="param">
2526
+
2527
+ <li>
2528
+
2529
+ <span class='name'>data</span>
2530
+
2531
+
2532
+ <span class='type'>(<tt>Hash</tt>)</span>
2533
+
2534
+
2535
+ <em class="default">(defaults to: <tt>{}</tt>)</em>
2536
+
2537
+
2538
+ &mdash;
2539
+ <div class='inline'>
2540
+ <p>({}) Data to be saved on app configuration.</p>
2541
+ </div>
2542
+
2543
+ </li>
2544
+
2545
+ </ul>
2546
+
2547
+
2548
+ </div><table class="source_code">
2549
+ <tr>
2550
+ <td>
2551
+ <pre class="lines">
2552
+
2553
+
2554
+ 160
2555
+ 161
2556
+ 162
2557
+ 163
2558
+ 164
2559
+ 165
2560
+ 166</pre>
2561
+ </td>
2562
+ <td>
2563
+ <pre class="code"><span class="info file"># File 'lib/dh_easy/login/flow.rb', line 160</span>
2564
+
2565
+ <span class='kw'>def</span> <span class='id identifier rubyid_update_config'>update_config</span> <span class='id identifier rubyid_data'>data</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span>
2566
+ <span class='id identifier rubyid_reload_config'>reload_config</span>
2567
+ <span class='id identifier rubyid_new_config'>new_config</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span><span class='period'>.</span><span class='id identifier rubyid_merge'>merge</span><span class='lparen'>(</span><span class='id identifier rubyid_config'>config</span><span class='rparen'>)</span>
2568
+ <span class='id identifier rubyid_new_config'>new_config</span><span class='period'>.</span><span class='id identifier rubyid_merge!'>merge!</span><span class='lparen'>(</span><span class='id identifier rubyid_data'>data</span><span class='rparen'>)</span>
2569
+ <span class='id identifier rubyid_save'>save</span> <span class='id identifier rubyid_new_config'>new_config</span>
2570
+ <span class='id identifier rubyid_reload_config'>reload_config</span>
2571
+ <span class='kw'>end</span></pre>
2572
+ </td>
2573
+ </tr>
2574
+ </table>
2575
+ </div>
2576
+
2577
+ </div>
2578
+
2579
+ </div>
2580
+
2581
+ <div id="footer">
2582
+ Generated on Wed Dec 4 23:19:59 2019 by
2583
+ <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
2584
+ 0.9.20 (ruby-2.5.3).
2585
+ </div>
2586
+
2587
+ </div>
2588
+ </body>
2589
+ </html>