dh_easy-login 0.0.5

Sign up to get free protection for your applications and to get access to all the features.
@@ -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>