Skip to content

Commit 30cf8c6

Browse files
author
Thibault Wittemberg
committed
Merge branch 'develop'
2 parents 31557fa + 56eacad commit 30cf8c6

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

62 files changed

+5637
-2811
lines changed

README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,9 @@ RxFlow is a navigation framework for iOS applications based on a **Reactive Flow
1313
This README is a short story of the whole conception process that led me to this framework.
1414

1515
You will find a very detail explanation of the whole project on my blog:
16-
- [RxFlow Part 1: In Theory](https://twittemb.github.io/swift/coordinator/rxswift/rxflow/reactive%20programming/2017/11/08/rxflow-part-1-in-theory/)
17-
- [RxFlow Part 2: In Practice](https://twittemb.github.io/swift/coordinator/reactive/rxflow/reactive%20programming/2017/12/09/rxflow-part-2-in-practice/)
18-
- [RxFlow Part 3: Tips and Tricks](https://twittemb.github.io/swift/coordinator/reactive/rxswift/reactive%20programming/rxflow/2017/12/22/rxflow-part-3-tips-and-tricks/)
16+
- [RxFlow Part 1: In Theory](https://twittemb.github.io/posts/2017-11-08-RxFlow-Part1/)
17+
- [RxFlow Part 2: In Practice](https://twittemb.github.io/posts/2017-12-09-RxFlow-Part2/)
18+
- [RxFlow Part 3: Tips and Tricks](https://twittemb.github.io/posts/2017-12-22-RxFlow-Part3/)
1919

2020
The Jazzy documentation can be seen here as well: [Documentation](http://community.rxswift.org/RxFlow/)
2121

RxFlow.xcodeproj/project.pbxproj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -587,7 +587,7 @@
587587
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
588588
IPHONEOS_DEPLOYMENT_TARGET = 9.0;
589589
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
590-
MARKETING_VERSION = 2.9.0;
590+
MARKETING_VERSION = 2.9.1;
591591
PRODUCT_BUNDLE_IDENTIFIER = io.warpfactor.RxFlow;
592592
PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)";
593593
PROVISIONING_PROFILE_SPECIFIER = "";
@@ -618,7 +618,7 @@
618618
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
619619
IPHONEOS_DEPLOYMENT_TARGET = 9.0;
620620
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
621-
MARKETING_VERSION = 2.9.0;
621+
MARKETING_VERSION = 2.9.1;
622622
PRODUCT_BUNDLE_IDENTIFIER = io.warpfactor.RxFlow;
623623
PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)";
624624
PROVISIONING_PROFILE_SPECIFIER = "";

RxFlow/Stepper.swift

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,10 @@ public class CompositeStepper: Stepper {
8080
.concat(nextSteps)
8181
.bind(to: self.steps)
8282
.disposed(by: self.disposeBag)
83+
84+
self.innerSteppers.forEach { stepper in
85+
stepper.readyToEmitSteps()
86+
}
8387
}
8488
}
8589

RxFlowTests/StepperTests.swift

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,12 +28,17 @@ final class StepperClass: Stepper {
2828
let steps = PublishRelay<Step>()
2929
let initialStep: Step
3030
let nextStep: Step
31+
private(set) var madeReady = false
3132

3233
init(with initialStep: Step, andNextStep nextStep: Step) {
3334
self.initialStep = initialStep
3435
self.nextStep = nextStep
3536
}
3637

38+
func readyToEmitSteps() {
39+
madeReady = true
40+
}
41+
3742
func emitNextStep () {
3843
self.steps.accept(self.nextStep)
3944
}
@@ -121,6 +126,21 @@ final class StepperTests: XCTestCase {
121126
XCTAssertEqual(observer.events[2].value.element as? StepperTestsStep, StepperTestsStep.stepThree)
122127
}
123128

129+
func testCompositeStepperReadyToEmitSteps() {
130+
131+
// Given: a compositeStepper
132+
let stepper1 = StepperClass(with: StepperTestsStep.stepOne, andNextStep: StepperTestsStep.stepTwo)
133+
let stepper2 = StepperClass(with: StepperTestsStep.stepOne, andNextStep: StepperTestsStep.stepTwo)
134+
let compositeStepper = CompositeStepper(steppers: [stepper1, stepper2])
135+
136+
// When: ready to emit steps
137+
compositeStepper.readyToEmitSteps()
138+
139+
// Then: the composite steppers are made ready
140+
XCTAssertTrue(stepper1.madeReady)
141+
XCTAssertTrue(stepper2.madeReady)
142+
}
143+
124144
func testCompositeStepper() {
125145

126146
let initialStepsToEmit = [StepperTestsStep.stepOne, StepperTestsStep.stepTwo, StepperTestsStep.stepThree]

docs/Classes.html

Lines changed: 29 additions & 89 deletions
Original file line numberDiff line numberDiff line change
@@ -8,13 +8,21 @@
88
<script src="js/jquery.min.js" defer></script>
99
<script src="js/jazzy.js" defer></script>
1010

11+
<script src="js/lunr.min.js" defer></script>
12+
<script src="js/typeahead.jquery.js" defer></script>
13+
<script src="js/jazzy.search.js" defer></script>
1114
</head>
1215
<body>
1316
<a name="//apple_ref/swift/Section/Classes" class="dashAnchor"></a>
1417
<a title="Classes Reference"></a>
1518
<header>
1619
<div class="content-wrapper">
17-
<p><a href="index.html">RxFlow Docs</a> (98% documented)</p>
20+
<p><a href="index.html">RxFlow 2.9.0 Docs</a> (0% documented)</p>
21+
<p class="header-right">
22+
<form role="search" action="search.json">
23+
<input type="text" placeholder="Search documentation" data-typeahead>
24+
</form>
25+
</p>
1826
</div>
1927
</header>
2028
<div class="content-wrapper">
@@ -39,9 +47,6 @@
3947
<li class="nav-group-task">
4048
<a href="Classes/FlowCoordinator.html">FlowCoordinator</a>
4149
</li>
42-
<li class="nav-group-task">
43-
<a href="Classes/Flows.html">Flows</a>
44-
</li>
4550
<li class="nav-group-task">
4651
<a href="Classes/OneStepper.html">OneStepper</a>
4752
</li>
@@ -56,6 +61,12 @@
5661
<li class="nav-group-task">
5762
<a href="Enums/FlowContributors.html">FlowContributors</a>
5863
</li>
64+
<li class="nav-group-task">
65+
<a href="Enums/Flows.html">Flows</a>
66+
</li>
67+
<li class="nav-group-task">
68+
<a href="Enums/Flows/ExecuteStrategy.html">– ExecuteStrategy</a>
69+
</li>
5970
<li class="nav-group-task">
6071
<a href="Enums/RxFlowStep.html">RxFlowStep</a>
6172
</li>
@@ -71,10 +82,10 @@
7182
<a href="Extensions/Reactive.html">Reactive</a>
7283
</li>
7384
<li class="nav-group-task">
74-
<a href="Extensions.html#/c:objc(cs)UIViewController">UIViewController</a>
85+
<a href="Extensions.html#/UIViewController">UIViewController</a>
7586
</li>
7687
<li class="nav-group-task">
77-
<a href="Extensions.html#/c:objc(cs)UIWindow">UIWindow</a>
88+
<a href="Extensions.html#/UIWindow">UIWindow</a>
7889
</li>
7990
</ul>
8091
</li>
@@ -88,24 +99,13 @@
8899
<a href="Protocols/Presentable.html">Presentable</a>
89100
</li>
90101
<li class="nav-group-task">
91-
<a href="Protocols.html#/s:6RxFlow4StepP">Step</a>
102+
<a href="Protocols.html#/Step">Step</a>
92103
</li>
93104
<li class="nav-group-task">
94105
<a href="Protocols/Stepper.html">Stepper</a>
95106
</li>
96107
<li class="nav-group-task">
97-
<a href="Protocols.html#/s:6RxFlow14SynchronizableP">Synchronizable</a>
98-
</li>
99-
</ul>
100-
</li>
101-
<li class="nav-group-name">
102-
<a href="Typealiases.html">Type Aliases</a>
103-
<ul class="nav-group-tasks">
104-
<li class="nav-group-task">
105-
<a href="Typealiases.html#/s:6RxFlow11Coordinatora">Coordinator</a>
106-
</li>
107-
<li class="nav-group-task">
108-
<a href="Typealiases.html#/s:6RxFlow04NextB5Itemsa">NextFlowItems</a>
108+
<a href="Protocols.html#/Synchronizable">Synchronizable</a>
109109
</li>
110110
</ul>
111111
</li>
@@ -124,37 +124,9 @@ <h1>Classes</h1>
124124
<li class="item">
125125
<div>
126126
<code>
127-
<a name="/s:6RxFlow5FlowsC"></a>
128-
<a name="//apple_ref/swift/Class/Flows" class="dashAnchor"></a>
129-
<a class="token" href="#/s:6RxFlow5FlowsC">Flows</a>
130-
</code>
131-
</div>
132-
<div class="height-container">
133-
<div class="pointer-container"></div>
134-
<section class="section">
135-
<div class="pointer"></div>
136-
<div class="abstract">
137-
<p>Utility functions to synchronize Flows readyness</p>
138-
139-
<a href="Classes/Flows.html" class="slightly-smaller">See more</a>
140-
</div>
141-
<div class="declaration">
142-
<h4>Declaration</h4>
143-
<div class="language">
144-
<p class="aside-title">Swift</p>
145-
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">class</span> <span class="kt">Flows</span></code></pre>
146-
147-
</div>
148-
</div>
149-
</section>
150-
</div>
151-
</li>
152-
<li class="item">
153-
<div>
154-
<code>
155-
<a name="/c:@M@RxFlow@objc(cs)FlowCoordinator"></a>
127+
<a name="/"></a>
156128
<a name="//apple_ref/swift/Class/FlowCoordinator" class="dashAnchor"></a>
157-
<a class="token" href="#/c:@M@RxFlow@objc(cs)FlowCoordinator">FlowCoordinator</a>
129+
<a class="token" href="#/">FlowCoordinator</a>
158130
</code>
159131
</div>
160132
<div class="height-container">
@@ -166,14 +138,6 @@ <h4>Declaration</h4>
166138

167139
<a href="Classes/FlowCoordinator.html" class="slightly-smaller">See more</a>
168140
</div>
169-
<div class="declaration">
170-
<h4>Declaration</h4>
171-
<div class="language">
172-
<p class="aside-title">Swift</p>
173-
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">final</span> <span class="kd">class</span> <span class="kt">FlowCoordinator</span> <span class="p">:</span> <span class="kt">NSObject</span></code></pre>
174-
175-
</div>
176-
</div>
177141
</section>
178142
</div>
179143
</li>
@@ -193,9 +157,9 @@ <h3 class="section-name"><p>default implementation</p>
193157
<li class="item">
194158
<div>
195159
<code>
196-
<a name="/s:6RxFlow10OneStepperC"></a>
160+
<a name="/"></a>
197161
<a name="//apple_ref/swift/Class/OneStepper" class="dashAnchor"></a>
198-
<a class="token" href="#/s:6RxFlow10OneStepperC">OneStepper</a>
162+
<a class="token" href="#/">OneStepper</a>
199163
</code>
200164
</div>
201165
<div class="height-container">
@@ -207,23 +171,15 @@ <h3 class="section-name"><p>default implementation</p>
207171

208172
<a href="Classes/OneStepper.html" class="slightly-smaller">See more</a>
209173
</div>
210-
<div class="declaration">
211-
<h4>Declaration</h4>
212-
<div class="language">
213-
<p class="aside-title">Swift</p>
214-
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">class</span> <span class="kt">OneStepper</span> <span class="p">:</span> <span class="kt"><a href="Protocols/Stepper.html">Stepper</a></span></code></pre>
215-
216-
</div>
217-
</div>
218174
</section>
219175
</div>
220176
</li>
221177
<li class="item">
222178
<div>
223179
<code>
224-
<a name="/s:6RxFlow14DefaultStepperC"></a>
180+
<a name="/"></a>
225181
<a name="//apple_ref/swift/Class/DefaultStepper" class="dashAnchor"></a>
226-
<a class="token" href="#/s:6RxFlow14DefaultStepperC">DefaultStepper</a>
182+
<a class="token" href="#/">DefaultStepper</a>
227183
</code>
228184
</div>
229185
<div class="height-container">
@@ -235,23 +191,15 @@ <h4>Declaration</h4>
235191

236192
<a href="Classes/DefaultStepper.html" class="slightly-smaller">See more</a>
237193
</div>
238-
<div class="declaration">
239-
<h4>Declaration</h4>
240-
<div class="language">
241-
<p class="aside-title">Swift</p>
242-
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">class</span> <span class="kt">DefaultStepper</span> <span class="p">:</span> <span class="kt"><a href="Classes/OneStepper.html">OneStepper</a></span></code></pre>
243-
244-
</div>
245-
</div>
246194
</section>
247195
</div>
248196
</li>
249197
<li class="item">
250198
<div>
251199
<code>
252-
<a name="/s:6RxFlow16CompositeStepperC"></a>
200+
<a name="/"></a>
253201
<a name="//apple_ref/swift/Class/CompositeStepper" class="dashAnchor"></a>
254-
<a class="token" href="#/s:6RxFlow16CompositeStepperC">CompositeStepper</a>
202+
<a class="token" href="#/">CompositeStepper</a>
255203
</code>
256204
</div>
257205
<div class="height-container">
@@ -264,14 +212,6 @@ <h4>Declaration</h4>
264212

265213
<a href="Classes/CompositeStepper.html" class="slightly-smaller">See more</a>
266214
</div>
267-
<div class="declaration">
268-
<h4>Declaration</h4>
269-
<div class="language">
270-
<p class="aside-title">Swift</p>
271-
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">class</span> <span class="kt">CompositeStepper</span> <span class="p">:</span> <span class="kt"><a href="Protocols/Stepper.html">Stepper</a></span></code></pre>
272-
273-
</div>
274-
</div>
275215
</section>
276216
</div>
277217
</li>
@@ -280,8 +220,8 @@ <h4>Declaration</h4>
280220
</section>
281221
</section>
282222
<section id="footer">
283-
<p>&copy; 2020 <a class="link" href="https://github.com/RxSwiftCommunity/RxFlow" target="_blank" rel="external">Thibault Wittemberg and RxSwiftCommunity</a>. All rights reserved. (Last updated: 2020-01-10)</p>
284-
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.13.1</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
223+
<p>&copy; 2020 <a class="link" href="https://github.com/RxSwiftCommunity/RxFlow" target="_blank" rel="external">Thibault Wittemberg and RxSwiftCommunity</a>. All rights reserved. (Last updated: 2020-09-09)</p>
224+
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.13.5</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
285225
</section>
286226
</article>
287227
</div>

0 commit comments

Comments
 (0)