ReactiveX/RxRuby

View on GitHub
lib/rx/linq/observable/case.rb

Summary

Maintainability
A
0 mins
Test Coverage
module Rx
  class << Observable
    def case(selector, sources, defaultSourceOrScheduler = Observable.empty)
      defer {
        if Scheduler === defaultSourceOrScheduler
          defaultSourceOrScheduler = Observable.empty(defaultSourceOrScheduler)
        end

        result = sources[selector.call]
        result || defaultSourceOrScheduler
      }
    end
    alias :switchCase :case
  end
end