ae_easy-login 0.0.1

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