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