rx 0.0.2 → 0.0.3
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.
- checksums.yaml +4 -4
- data/.travis.yml +3 -0
- data/Gemfile +1 -1
- data/examples/aggregate.rb +3 -3
- data/examples/amb.rb +4 -4
- data/examples/ambproto.rb +3 -3
- data/examples/and.rb +4 -4
- data/examples/as_observable.rb +2 -2
- data/examples/average.rb +3 -3
- data/examples/buffer_with_count.rb +3 -3
- data/examples/buffer_with_time.rb +3 -3
- data/examples/case.rb +5 -5
- data/examples/catch.rb +4 -4
- data/examples/catchproto.rb +5 -5
- data/examples/combine_latest.rb +4 -4
- data/examples/combine_latestproto.rb +3 -3
- data/examples/concat.rb +4 -4
- data/examples/concat_all.rb +3 -3
- data/examples/concat_map.rb +4 -4
- data/examples/concat_map_observer.rb +5 -5
- data/examples/concatproto.rb +3 -3
- data/examples/connect.rb +3 -3
- data/examples/contains.rb +3 -3
- data/examples/count.rb +3 -3
- data/examples/create.rb +4 -4
- data/examples/debounce.rb +3 -3
- data/examples/default_if_empty.rb +3 -3
- data/examples/defer.rb +3 -3
- data/examples/delay.rb +3 -3
- data/examples/delay_with_selector.rb +6 -6
- data/examples/dematerialize.rb +4 -4
- data/examples/disposable.rb +3 -3
- data/examples/distinct.rb +3 -3
- data/examples/distinct_until_changed.rb +3 -3
- data/examples/do.rb +4 -4
- data/examples/empty.rb +2 -2
- data/examples/for.rb +3 -3
- data/examples/fork_join.rb +6 -6
- data/examples/from.rb +7 -7
- data/examples/from_array.rb +2 -2
- data/examples/from_callback.rb +2 -2
- data/examples/generate.rb +2 -2
- data/examples/group_join.rb +5 -5
- data/examples/if.rb +6 -6
- data/examples/intervals.rb +2 -2
- data/examples/merge.rb +4 -4
- data/examples/merge_all.rb +3 -3
- data/examples/multicast.rb +4 -4
- data/examples/never.rb +2 -2
- data/examples/of.rb +2 -2
- data/examples/on_error_resume_next.rb +5 -5
- data/examples/pairs.rb +2 -2
- data/examples/publish.rb +5 -5
- data/examples/range.rb +2 -2
- data/examples/reduce.rb +2 -2
- data/examples/repeat.rb +2 -2
- data/examples/return.rb +2 -2
- data/examples/scan.rb +3 -3
- data/examples/start.rb +3 -3
- data/examples/throw.rb +3 -3
- data/examples/time_intervals.rb +2 -2
- data/examples/timer.rb +2 -2
- data/examples/timestamp.rb +2 -2
- data/examples/to_a.rb +2 -2
- data/examples/to_async.rb +2 -2
- data/examples/using.rb +3 -3
- data/examples/when.rb +4 -4
- data/examples/while.rb +3 -3
- data/examples/window_with_time.rb +3 -3
- data/examples/zip.rb +3 -3
- data/examples/zip_array.rb +3 -3
- data/lib/core_ext/enumerable.rb +3 -3
- data/lib/{rx_ruby.rb → rx.rb} +11 -11
- data/lib/{rx_ruby → rx}/concurrency/async_lock.rb +1 -1
- data/lib/{rx_ruby → rx}/concurrency/current_thread_scheduler.rb +6 -6
- data/lib/{rx_ruby → rx}/concurrency/default_scheduler.rb +8 -8
- data/lib/{rx_ruby → rx}/concurrency/historical_scheduler.rb +3 -3
- data/lib/{rx_ruby → rx}/concurrency/immediate_scheduler.rb +4 -4
- data/lib/{rx_ruby → rx}/concurrency/local_scheduler.rb +3 -3
- data/lib/{rx_ruby → rx}/concurrency/periodic_scheduler.rb +1 -1
- data/lib/{rx_ruby → rx}/concurrency/scheduled_item.rb +2 -2
- data/lib/{rx_ruby → rx}/concurrency/scheduler.rb +1 -1
- data/lib/{rx_ruby → rx}/concurrency/virtual_time_scheduler.rb +4 -4
- data/lib/{rx_ruby → rx}/core/async_lock_observer.rb +4 -4
- data/lib/{rx_ruby → rx}/core/auto_detach_observer.rb +4 -4
- data/lib/{rx_ruby → rx}/core/checked_observer.rb +2 -2
- data/lib/{rx_ruby → rx}/core/notification.rb +3 -3
- data/lib/{rx_ruby → rx}/core/observable.rb +6 -6
- data/lib/{rx_ruby → rx}/core/observe_on_observer.rb +2 -2
- data/lib/{rx_ruby → rx}/core/observer.rb +1 -1
- data/lib/{rx_ruby → rx}/core/scheduled_observer.rb +3 -3
- data/lib/{rx_ruby → rx}/core/synchronized_observer.rb +3 -3
- data/lib/{rx_ruby → rx}/core/time_interval.rb +1 -1
- data/lib/{rx_ruby → rx}/internal/priority_queue.rb +1 -1
- data/lib/{rx_ruby → rx}/internal/util.rb +1 -1
- data/lib/{rx_ruby → rx}/joins/active_plan.rb +1 -1
- data/lib/{rx_ruby → rx}/joins/join_observer.rb +1 -1
- data/lib/{rx_ruby → rx}/joins/pattern.rb +1 -1
- data/lib/{rx_ruby → rx}/joins/plan.rb +1 -1
- data/lib/{rx_ruby → rx}/linq/connectable_observable.rb +1 -1
- data/lib/{rx_ruby → rx}/linq/observable/_observable_timer_date_and_period.rb +1 -1
- data/lib/{rx_ruby → rx}/linq/observable/_observable_timer_time_span.rb +1 -1
- data/lib/{rx_ruby → rx}/linq/observable/_observable_timer_time_span_and_period.rb +1 -1
- data/lib/{rx_ruby → rx}/linq/observable/aggregate.rb +2 -2
- data/lib/{rx_ruby → rx}/linq/observable/and.rb +1 -1
- data/lib/{rx_ruby → rx}/linq/observable/case.rb +1 -1
- data/lib/{rx_ruby → rx}/linq/observable/concat_all.rb +1 -1
- data/lib/{rx_ruby → rx}/linq/observable/concat_map.rb +1 -1
- data/lib/{rx_ruby → rx}/linq/observable/concat_map_observer.rb +1 -1
- data/lib/{rx_ruby → rx}/linq/observable/contains.rb +1 -1
- data/lib/{rx_ruby → rx}/linq/observable/debounce.rb +1 -1
- data/lib/{rx_ruby → rx}/linq/observable/delay.rb +1 -1
- data/lib/{rx_ruby → rx}/linq/observable/delay_with_selector.rb +1 -1
- data/lib/{rx_ruby → rx}/linq/observable/do.rb +1 -1
- data/lib/{rx_ruby → rx}/linq/observable/for.rb +1 -1
- data/lib/{rx_ruby → rx}/linq/observable/fork_join.rb +1 -1
- data/lib/{rx_ruby → rx}/linq/observable/from.rb +1 -1
- data/lib/{rx_ruby → rx}/linq/observable/group_join.rb +1 -1
- data/lib/{rx_ruby → rx}/linq/observable/if.rb +1 -1
- data/lib/rx/linq/observable/interval.rb +5 -0
- data/lib/{rx_ruby → rx}/linq/observable/multicast.rb +1 -1
- data/lib/{rx_ruby → rx}/linq/observable/of.rb +1 -1
- data/lib/{rx_ruby → rx}/linq/observable/pairs.rb +1 -1
- data/lib/{rx_ruby → rx}/linq/observable/pluck.rb +1 -1
- data/lib/{rx_ruby → rx}/linq/observable/publish.rb +1 -1
- data/lib/{rx_ruby → rx}/linq/observable/start.rb +1 -1
- data/lib/{rx_ruby → rx}/linq/observable/time_interval.rb +1 -1
- data/lib/{rx_ruby → rx}/linq/observable/timer.rb +1 -1
- data/lib/{rx_ruby → rx}/linq/observable/timestamp.rb +1 -1
- data/lib/{rx_ruby → rx}/linq/observable/to_async.rb +1 -1
- data/lib/{rx_ruby → rx}/linq/observable/when.rb +1 -1
- data/lib/{rx_ruby → rx}/linq/observable/while.rb +1 -1
- data/lib/{rx_ruby → rx}/operators/aggregates.rb +31 -31
- data/lib/{rx_ruby → rx}/operators/creation.rb +6 -6
- data/lib/{rx_ruby → rx}/operators/multiple.rb +22 -23
- data/lib/{rx_ruby → rx}/operators/single.rb +14 -14
- data/lib/{rx_ruby → rx}/operators/standard_query_operators.rb +6 -6
- data/lib/{rx_ruby → rx}/operators/synchronization.rb +8 -8
- data/lib/{rx_ruby → rx}/operators/time.rb +12 -12
- data/lib/{rx_ruby → rx}/subjects/async_subject.rb +4 -4
- data/lib/{rx_ruby → rx}/subjects/behavior_subject.rb +3 -3
- data/lib/{rx_ruby → rx}/subjects/replay_subject.rb +5 -5
- data/lib/{rx_ruby → rx}/subjects/subject.rb +4 -4
- data/lib/{rx_ruby → rx}/subjects/subject_extensions.rb +3 -3
- data/lib/{rx_ruby → rx}/subscriptions/composite_subscription.rb +1 -1
- data/lib/{rx_ruby → rx}/subscriptions/ref_count_subscription.rb +2 -2
- data/lib/{rx_ruby → rx}/subscriptions/scheduled_subscription.rb +1 -1
- data/lib/{rx_ruby → rx}/subscriptions/serial_subscription.rb +1 -1
- data/lib/{rx_ruby → rx}/subscriptions/single_assignment_subscription.rb +1 -1
- data/lib/{rx_ruby → rx}/subscriptions/subscription.rb +1 -1
- data/lib/{rx_ruby → rx}/testing/cold_observable.rb +4 -4
- data/lib/{rx_ruby → rx}/testing/hot_observable.rb +4 -4
- data/lib/{rx_ruby → rx}/testing/mock_observer.rb +4 -4
- data/lib/{rx_ruby → rx}/testing/reactive_test.rb +3 -3
- data/lib/{rx_ruby → rx}/testing/recorded.rb +1 -1
- data/lib/{rx_ruby → rx}/testing/test_scheduler.rb +8 -8
- data/lib/{rx_ruby → rx}/testing/test_subscription.rb +1 -1
- data/lib/rx/version.rb +3 -0
- data/readme.md +19 -19
- data/{rx_ruby.gemspec → rx.gemspec} +2 -2
- data/test/{rx_ruby → rx}/concurrency/helpers/historical_virtual_scheduler_helper.rb +0 -0
- data/test/{rx_ruby → rx}/concurrency/helpers/immediate_local_scheduler_helper.rb +0 -0
- data/test/{rx_ruby → rx}/concurrency/test_async_lock.rb +1 -1
- data/test/{rx_ruby → rx}/concurrency/test_current_thread_scheduler.rb +3 -3
- data/test/{rx_ruby → rx}/concurrency/test_default_scheduler.rb +1 -1
- data/test/{rx_ruby → rx}/concurrency/test_historical_scheduler.rb +3 -3
- data/test/{rx_ruby → rx}/concurrency/test_immediate_scheduler.rb +2 -2
- data/test/{rx_ruby → rx}/concurrency/test_local_scheduler.rb +2 -2
- data/test/{rx_ruby → rx}/concurrency/test_periodic_scheduler.rb +1 -1
- data/test/{rx_ruby → rx}/concurrency/test_scheduled_item.rb +4 -4
- data/test/{rx_ruby → rx}/concurrency/test_scheduler.rb +2 -2
- data/test/{rx_ruby → rx}/concurrency/test_virtual_time_scheduler.rb +2 -2
- data/test/{rx_ruby → rx}/core/test_notification.rb +20 -20
- data/test/{rx_ruby → rx}/core/test_observable_creation.rb +220 -63
- data/test/{rx_ruby → rx}/core/test_observer.rb +39 -39
- data/test/{rx_ruby → rx}/internal/test_priority_queue.rb +6 -6
- data/test/{rx_ruby → rx}/subscriptions/test_composite_subscription.rb +20 -20
- data/test/{rx_ruby → rx}/subscriptions/test_serial_subscription.rb +9 -9
- data/test/{rx_ruby → rx}/subscriptions/test_singleassignment_subscription.rb +8 -8
- data/test/{rx_ruby → rx}/subscriptions/test_subscription.rb +3 -3
- data/test/test_helper.rb +1 -1
- metadata +129 -129
- data/lib/rx_ruby/linq/observable/interval.rb +0 -5
- data/lib/rx_ruby/version.rb +0 -3
data/examples/publish.rb
CHANGED
@@ -1,14 +1,14 @@
|
|
1
|
-
require '
|
1
|
+
require 'rx'
|
2
2
|
|
3
3
|
# Without publish
|
4
|
-
interval =
|
4
|
+
interval = Rx::Observable.interval(1)
|
5
5
|
|
6
6
|
source = interval
|
7
7
|
.take(2)
|
8
8
|
.do {|x| puts 'Side effect' }
|
9
9
|
|
10
10
|
def create_observer(tag)
|
11
|
-
|
11
|
+
Rx::Observer.create(
|
12
12
|
lambda {|x|
|
13
13
|
puts 'Next: ' + tag + x.to_s
|
14
14
|
},
|
@@ -39,14 +39,14 @@ end
|
|
39
39
|
# => Completed
|
40
40
|
|
41
41
|
# With publish
|
42
|
-
interval =
|
42
|
+
interval = Rx::Observable.interval(1)
|
43
43
|
|
44
44
|
source = interval
|
45
45
|
.take(2)
|
46
46
|
.do {|x| puts 'Side effect' }
|
47
47
|
|
48
48
|
def create_observer(tag)
|
49
|
-
|
49
|
+
Rx::Observer.create(
|
50
50
|
lambda {|x|
|
51
51
|
puts 'Next: ' + tag + x.to_s
|
52
52
|
},
|
data/examples/range.rb
CHANGED
data/examples/reduce.rb
CHANGED
data/examples/repeat.rb
CHANGED
data/examples/return.rb
CHANGED
data/examples/scan.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
|
-
require '
|
1
|
+
require 'rx'
|
2
2
|
|
3
3
|
# Without a seed
|
4
|
-
source =
|
4
|
+
source = Rx::Observable.range(1, 3)
|
5
5
|
.scan {|acc, x| acc + x }
|
6
6
|
|
7
7
|
subscription = source.subscribe(
|
@@ -21,7 +21,7 @@ subscription = source.subscribe(
|
|
21
21
|
# => Completed
|
22
22
|
|
23
23
|
# With a seed
|
24
|
-
source =
|
24
|
+
source = Rx::Observable.range(1, 3)
|
25
25
|
.scan(1) {|acc, x| acc * x }
|
26
26
|
|
27
27
|
subscription = source.subscribe(
|
data/examples/start.rb
CHANGED
@@ -1,13 +1,13 @@
|
|
1
|
-
require '
|
1
|
+
require 'rx'
|
2
2
|
|
3
3
|
context = { value: 42 }
|
4
4
|
|
5
|
-
source =
|
5
|
+
source = Rx::Observable.start(
|
6
6
|
lambda {
|
7
7
|
return self[:value]
|
8
8
|
},
|
9
9
|
context,
|
10
|
-
|
10
|
+
Rx::DefaultScheduler.instance
|
11
11
|
)
|
12
12
|
|
13
13
|
subscription = source.subscribe(
|
data/examples/throw.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
|
-
require '
|
1
|
+
require 'rx'
|
2
2
|
|
3
|
-
source =
|
4
|
-
.flat_map {
|
3
|
+
source = Rx::Observable.return(42)
|
4
|
+
.flat_map { Rx::Observable.raise_error(Exception.new('error!')) }
|
5
5
|
|
6
6
|
subscription = source.subscribe(
|
7
7
|
lambda {|x|
|
data/examples/time_intervals.rb
CHANGED
data/examples/timer.rb
CHANGED
data/examples/timestamp.rb
CHANGED
data/examples/to_a.rb
CHANGED
data/examples/to_async.rb
CHANGED
data/examples/using.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
require '
|
1
|
+
require 'rx'
|
2
2
|
|
3
3
|
# Using an AsyncSubject as a resource which supports the .dispose method
|
4
4
|
class DisposableResource
|
@@ -23,10 +23,10 @@ class DisposableResource
|
|
23
23
|
end
|
24
24
|
end
|
25
25
|
|
26
|
-
source =
|
26
|
+
source = Rx::Observable.using(
|
27
27
|
lambda { return DisposableResource.new(42) },
|
28
28
|
lambda {|resource|
|
29
|
-
subject =
|
29
|
+
subject = Rx::AsyncSubject.new
|
30
30
|
subject.on_next(resource.value)
|
31
31
|
subject.on_completed
|
32
32
|
return subject
|
data/examples/when.rb
CHANGED
@@ -1,9 +1,9 @@
|
|
1
|
-
require '
|
1
|
+
require 'rx'
|
2
2
|
|
3
3
|
# Fire each plan when both are ready
|
4
|
-
source =
|
5
|
-
|
6
|
-
|
4
|
+
source = Rx::Observable.when(
|
5
|
+
Rx::Observable.timer(0.1).and(Rx::Observable.timer(0.5)).then_do(lambda {|x, y| return 'first' }),
|
6
|
+
Rx::Observable.timer(0.4).and(Rx::Observable.timer(0.3)).then_do {|x, y| 'second' }
|
7
7
|
)
|
8
8
|
|
9
9
|
subscription = source.subscribe(
|
data/examples/while.rb
CHANGED
@@ -1,11 +1,11 @@
|
|
1
|
-
require '
|
1
|
+
require 'rx'
|
2
2
|
|
3
3
|
i = 0
|
4
4
|
|
5
5
|
# Repeat until condition no longer holds
|
6
|
-
source =
|
6
|
+
source = Rx::Observable.while(
|
7
7
|
lambda { i += 1; i <= 3 },
|
8
|
-
|
8
|
+
Rx::Observable.return(42)
|
9
9
|
)
|
10
10
|
|
11
11
|
subscription = source.subscribe(
|
@@ -1,7 +1,7 @@
|
|
1
|
-
require '
|
1
|
+
require 'rx'
|
2
2
|
|
3
3
|
# Without a skip
|
4
|
-
source =
|
4
|
+
source = Rx::Observable.interval(0.1)
|
5
5
|
.window_with_time(0.5)
|
6
6
|
.take(3)
|
7
7
|
|
@@ -39,7 +39,7 @@ while Thread.list.size > 1
|
|
39
39
|
end
|
40
40
|
|
41
41
|
# Using a skip
|
42
|
-
source =
|
42
|
+
source = Rx::Observable.interval(0.1)
|
43
43
|
.window_with_time(0.5, 0.1)
|
44
44
|
.take(3)
|
45
45
|
|
data/examples/zip.rb
CHANGED
data/examples/zip_array.rb
CHANGED
data/lib/core_ext/enumerable.rb
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
module Enumerable
|
2
|
-
def subscribe(observer, scheduler =
|
2
|
+
def subscribe(observer, scheduler = Rx::ImmediateScheduler.instance)
|
3
3
|
begin
|
4
4
|
self.each do |e|
|
5
5
|
scheduler.schedule lambda {
|
@@ -14,8 +14,8 @@ module Enumerable
|
|
14
14
|
observer.on_completed
|
15
15
|
end
|
16
16
|
|
17
|
-
def to_observable(scheduler =
|
18
|
-
|
17
|
+
def to_observable(scheduler = Rx::ImmediateScheduler.instance)
|
18
|
+
Rx::AnonymousObservable.new do |observer|
|
19
19
|
self.subscribe(observer, scheduler)
|
20
20
|
end
|
21
21
|
end
|
data/lib/{rx_ruby.rb → rx.rb}
RENAMED
@@ -14,14 +14,14 @@ def require_all(path)
|
|
14
14
|
end
|
15
15
|
end
|
16
16
|
|
17
|
-
require_all '
|
18
|
-
require_all '
|
19
|
-
require_all '
|
20
|
-
require_all '
|
21
|
-
require_all '
|
22
|
-
require_all '
|
23
|
-
require_all '
|
24
|
-
require_all '
|
25
|
-
require_all '
|
26
|
-
require_all '
|
27
|
-
require_all '
|
17
|
+
require_all 'rx/internal/'
|
18
|
+
require_all 'rx/concurrency/'
|
19
|
+
require_all 'rx/subscriptions/'
|
20
|
+
require_all 'rx/core/'
|
21
|
+
require_all 'rx/linq/'
|
22
|
+
require_all 'rx/linq/observable/'
|
23
|
+
require_all 'rx/operators/'
|
24
|
+
require_all 'rx/subjects/'
|
25
|
+
require_all 'rx/testing/'
|
26
|
+
require_all 'rx/joins/'
|
27
|
+
require_all 'rx/'
|
@@ -2,15 +2,15 @@
|
|
2
2
|
|
3
3
|
require 'singleton'
|
4
4
|
require 'thread'
|
5
|
-
require '
|
6
|
-
require '
|
7
|
-
require '
|
8
|
-
require '
|
5
|
+
require 'rx/internal/priority_queue'
|
6
|
+
require 'rx/concurrency/local_scheduler'
|
7
|
+
require 'rx/concurrency/scheduled_item'
|
8
|
+
require 'rx/subscriptions/subscription'
|
9
9
|
|
10
|
-
module
|
10
|
+
module Rx
|
11
11
|
|
12
12
|
# Represents an object that schedules units of work on the platform's default scheduler.
|
13
|
-
class CurrentThreadScheduler <
|
13
|
+
class CurrentThreadScheduler < Rx::LocalScheduler
|
14
14
|
|
15
15
|
include Singleton
|
16
16
|
|
@@ -2,19 +2,19 @@
|
|
2
2
|
|
3
3
|
require 'singleton'
|
4
4
|
require 'thread'
|
5
|
-
require '
|
6
|
-
require '
|
7
|
-
require '
|
8
|
-
require '
|
9
|
-
require '
|
5
|
+
require 'rx/concurrency/local_scheduler'
|
6
|
+
require 'rx/concurrency/periodic_scheduler'
|
7
|
+
require 'rx/subscriptions/subscription'
|
8
|
+
require 'rx/subscriptions/single_assignment_subscription'
|
9
|
+
require 'rx/subscriptions/composite_subscription'
|
10
10
|
|
11
|
-
module
|
11
|
+
module Rx
|
12
12
|
|
13
13
|
# Represents an object that schedules units of work on the platform's default scheduler.
|
14
|
-
class DefaultScheduler <
|
14
|
+
class DefaultScheduler < Rx::LocalScheduler
|
15
15
|
|
16
16
|
include Singleton
|
17
|
-
include
|
17
|
+
include Rx::PeriodicScheduler
|
18
18
|
|
19
19
|
# Schedules an action to be executed.
|
20
20
|
def schedule_with_state(state, action)
|
@@ -1,9 +1,9 @@
|
|
1
1
|
# Copyright (c) Microsoft Open Technologies, Inc. All rights reserved. See License.txt in the project root for license information.
|
2
2
|
|
3
|
-
require '
|
4
|
-
require '
|
3
|
+
require 'rx/concurrency/virtual_time_scheduler'
|
4
|
+
require 'rx/internal/priority_queue'
|
5
5
|
|
6
|
-
module
|
6
|
+
module Rx
|
7
7
|
|
8
8
|
# Provides a virtual time scheduler that uses Time for absolute time and Number for relative time.
|
9
9
|
class HistoricalScheduler < VirtualTimeScheduler
|
@@ -2,10 +2,10 @@
|
|
2
2
|
|
3
3
|
require 'singleton'
|
4
4
|
require 'thread'
|
5
|
-
require '
|
6
|
-
require '
|
5
|
+
require 'rx/concurrency/local_scheduler'
|
6
|
+
require 'rx/subscriptions/single_assignment_subscription'
|
7
7
|
|
8
|
-
module
|
8
|
+
module Rx
|
9
9
|
|
10
10
|
# Represents an object that schedules units of work to run immediately on the current thread.
|
11
11
|
class ImmediateScheduler < LocalScheduler
|
@@ -21,7 +21,7 @@ module RxRuby
|
|
21
21
|
def schedule_relative_with_state(state, due_time, action)
|
22
22
|
raise ArgumentError.new 'action cannot be nil' unless action
|
23
23
|
|
24
|
-
dt =
|
24
|
+
dt = Rx::Scheduler.normalize due_time
|
25
25
|
sleep dt if dt > 0
|
26
26
|
action.call AsyncLockScheduler.new, state
|
27
27
|
end
|
@@ -1,8 +1,8 @@
|
|
1
1
|
# Copyright (c) Microsoft Open Technologies, Inc. All rights reserved. See License.txt in the project root for license information.
|
2
2
|
|
3
|
-
require '
|
3
|
+
require 'rx/concurrency/scheduler'
|
4
4
|
|
5
|
-
module
|
5
|
+
module Rx
|
6
6
|
# Abstract base class for machine-local schedulers, using the local system clock for time-based operations.
|
7
7
|
class LocalScheduler
|
8
8
|
|
@@ -30,7 +30,7 @@ module RxRuby
|
|
30
30
|
def schedule_relative_with_state(state, due_time, action)
|
31
31
|
raise ArgumentError.new 'action cannot be nil' unless action
|
32
32
|
|
33
|
-
dt =
|
33
|
+
dt = Rx::Scheduler.normalize due_time
|
34
34
|
sleep dt if dt > 0
|
35
35
|
action.call(self, state)
|
36
36
|
end
|
@@ -1,8 +1,8 @@
|
|
1
1
|
# Copyright (c) Microsoft Open Technologies, Inc. All rights reserved. See License.txt in the project root for license information.
|
2
2
|
|
3
|
-
require '
|
3
|
+
require 'rx/subscriptions/single_assignment_subscription'
|
4
4
|
|
5
|
-
module
|
5
|
+
module Rx
|
6
6
|
|
7
7
|
# Represents a scheduled work item based on the materialization of an scheduler.schedule method call.
|
8
8
|
class ScheduledItem
|