Class: Rx::ReplaySubject
- Inherits:
-
Object
- Object
- Rx::ReplaySubject
- Includes:
- Observable, Observer
- Defined in:
- lib/rx/subjects/replay_subject.rb
Overview
Represents an object that is both an observable sequence as well as an observer. Each notification is broadcasted to all subscribed and future observers, subject to buffer trimming policies.
Constant Summary collapse
- INFINITE_BUFFER_SIZE =
Float::MAX.to_i
Instance Method Summary collapse
-
#has_observers? ⇒ B
Indicates whether the subject has observers subscribed to it.
-
#initialize(buffer_size = INFINITE_BUFFER_SIZE, window_size = INFINITE_BUFFER_SIZE, scheduler = CurrentThreadScheduler.instance) ⇒ ReplaySubject
constructor
A new instance of ReplaySubject.
Methods included from Observable
#_subscribe, #add_ref, #all?, amb, #amb, #and, #any?, #as_observable, #average, #buffer_with_count, #buffer_with_time, case, #combine_latest, combine_latest, #concat, concat, #concat_all, #concat_map, #concat_map_observer, #contains, #contains?, #count, create, #debounce, #default_if_empty, defer, #delay, #delay_with_selector, #dematerialize, #distinct, #distinct_until_changed, #do, #element_at, #element_at_or_default, empty, #empty?, #ensures, #enumerator_repeat_infinitely, #enumerator_repeat_times, #final, #first, #first_or_default, #flat_map, #flat_map_with_index, for, fork_join, from, from_array, generate, #group_join, if, #ignore_elements, interval, just, #last, #last_or_default, #latest, #map, #map_with_index, #materialize, #max, #max_by, #merge, #merge_all, merge_all, merge_concurrent, #merge_concurrent, #min, #min_by, #multicast, never, #none?, #observe_on, of, of_array, of_enumerable, of_enumerator, on_error_resume_next, #on_error_resume_next, pairs, #pluck, #publish, raise_error, range, #reduce, repeat, #repeat, repeat_infinitely, #repeat_infinitely, rescue_error, #rescue_error, #retry, #retry_infinitely, #scan, #select, #select_with_index, #sequence_eql?, #single, #single_or_default, #skip, #skip_last, #skip_until, #skip_while, #skip_while_with_index, start, #start_with, #subscribe, #subscribe_on, #subscribe_on_completed, #subscribe_on_error, #subscribe_on_next, #sum, #synchronize, #take, #take_last, #take_last_buffer, #take_until, #take_while, #take_while_with_index, #tap, #time_interval, timer, #timestamp, #to_a, to_async, #to_h, using, when, while, #window_with_count, #window_with_time, #zip, zip
Methods included from Observer
allow_reentrancy, #as_observer, #checked, configure, create, from_notifier, #notify_on, prevent_reentrancy, #to_notifier
Constructor Details
#initialize(buffer_size = INFINITE_BUFFER_SIZE, window_size = INFINITE_BUFFER_SIZE, scheduler = CurrentThreadScheduler.instance) ⇒ ReplaySubject
Returns a new instance of ReplaySubject.
20 21 22 23 24 25 26 27 28 |
# File 'lib/rx/subjects/replay_subject.rb', line 20 def initialize(buffer_size = INFINITE_BUFFER_SIZE, window_size = INFINITE_BUFFER_SIZE, scheduler = CurrentThreadScheduler.instance) @buffer_size = buffer_size @window_size = window_size @scheduler = scheduler @queue = [] @observers = [] @stopped = false @error = nil end |
Instance Method Details
#has_observers? ⇒ B
Indicates whether the subject has observers subscribed to it.
32 33 34 35 |
# File 'lib/rx/subjects/replay_subject.rb', line 32 def has_observers? observers = @observers observers && observers.length > 0 end |