ReactiveX/Rx.rb

View on GitHub

Showing 104 of 124 total issues

Method amb has 39 lines of code (exceeds 25 allowed). Consider refactoring.
Open

    def amb(second)
      AnonymousObservable.new do |observer|
        left_subscription = SingleAssignmentSubscription.new
        right_subscription = SingleAssignmentSubscription.new
        choice = :neither
Severity: Minor
Found in lib/rx/operators/multiple.rb - About 1 hr to fix

    Method do has 36 lines of code (exceeds 25 allowed). Consider refactoring.
    Open

        def do(observer_or_on_next = nil, on_error_func = nil, on_completed_func = nil)
          if block_given?
            on_next_func = Proc.new
          elsif Proc === observer_or_on_next
            on_next_func = observer_or_on_next
    Severity: Minor
    Found in lib/rx/linq/observable/do.rb - About 1 hr to fix

      Method latest has 36 lines of code (exceeds 25 allowed). Consider refactoring.
      Open

          def latest
            AnonymousObservable.new do |observer|
              gate = Monitor.new
              inner_subscription = SerialSubscription.new
              stopped = false
      Severity: Minor
      Found in lib/rx/operators/multiple.rb - About 1 hr to fix

        Method amb has a Cognitive Complexity of 12 (exceeds 5 allowed). Consider refactoring.
        Open

            def amb(second)
              AnonymousObservable.new do |observer|
                left_subscription = SingleAssignmentSubscription.new
                right_subscription = SingleAssignmentSubscription.new
                choice = :neither
        Severity: Minor
        Found in lib/rx/operators/multiple.rb - About 1 hr to fix

        Cognitive Complexity

        Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

        A method's cognitive complexity is based on a few simple rules:

        • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
        • Code is considered more complex for each "break in the linear flow of the code"
        • Code is considered more complex when "flow breaking structures are nested"

        Further reading

        Method extrema_by has 35 lines of code (exceeds 25 allowed). Consider refactoring.
        Open

            def extrema_by(is_min = false, &block)
              AnonymousObservable.new do |observer|
                has_value = false
                last_key = nil
                list = []
        Severity: Minor
        Found in lib/rx/operators/aggregates.rb - About 1 hr to fix

          Method zip has 34 lines of code (exceeds 25 allowed). Consider refactoring.
          Open

                def zip(*args, &result_selector)
                  AnonymousObservable.new do |observer|
                    result_selector ||= lambda {|*inner_args| inner_args }
                    n = args.length
          
          
          Severity: Minor
          Found in lib/rx/operators/multiple.rb - About 1 hr to fix

            Method sample has 34 lines of code (exceeds 25 allowed). Consider refactoring.
            Open

                def sample(intervalOrSampler, scheduler = DefaultScheduler.instance, &recipe)
                  sampler = if intervalOrSampler.is_a? Numeric
                    Observable.interval(intervalOrSampler, scheduler)
                  else
                    intervalOrSampler
            Severity: Minor
            Found in lib/rx/linq/observable/sample.rb - About 1 hr to fix

              Method concat_map_observer has 34 lines of code (exceeds 25 allowed). Consider refactoring.
              Open

                  def concat_map_observer(on_next, on_error, on_completed)
                    AnonymousObservable.new do |observer|
                      index = 0
              
                      subscribe(
              Severity: Minor
              Found in lib/rx/linq/observable/concat_map_observer.rb - About 1 hr to fix

                Method window_with_count has 33 lines of code (exceeds 25 allowed). Consider refactoring.
                Open

                    def window_with_count(count, skip)
                      raise ArgumentError.new 'Count must be greater than zero' if count <= 0
                      raise ArgumentError.new 'Skip must be greater than zero' if skip <= 0
                
                      AnonymousObservable.new do |observer|
                Severity: Minor
                Found in lib/rx/operators/single.rb - About 1 hr to fix

                  Method debounce has 33 lines of code (exceeds 25 allowed). Consider refactoring.
                  Open

                      def debounce(due_time, scheduler = DefaultScheduler.instance)
                        AnonymousObservable.new do |observer|
                          cancelable = SerialSubscription.new
                          hasvalue = false
                          value = nil
                  Severity: Minor
                  Found in lib/rx/linq/observable/debounce.rb - About 1 hr to fix

                    Method merge_all has a Cognitive Complexity of 11 (exceeds 5 allowed). Consider refactoring.
                    Open

                        def merge_all
                          AnonymousObservable.new do |observer|
                            gate = Monitor.new
                            stopped = false
                            m = SingleAssignmentSubscription.new
                    Severity: Minor
                    Found in lib/rx/operators/multiple.rb - About 1 hr to fix

                    Cognitive Complexity

                    Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

                    A method's cognitive complexity is based on a few simple rules:

                    • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
                    • Code is considered more complex for each "break in the linear flow of the code"
                    • Code is considered more complex when "flow breaking structures are nested"

                    Further reading

                    Method run_trampoline has a Cognitive Complexity of 11 (exceeds 5 allowed). Consider refactoring.
                    Open

                          def run_trampoline(queue)
                            while item = queue.shift
                              unless item.cancelled?
                                wait = item.due_time - Scheduler.now.to_i
                                sleep wait if wait > 0
                    Severity: Minor
                    Found in lib/rx/concurrency/current_thread_scheduler.rb - About 1 hr to fix

                    Cognitive Complexity

                    Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

                    A method's cognitive complexity is based on a few simple rules:

                    • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
                    • Code is considered more complex for each "break in the linear flow of the code"
                    • Code is considered more complex when "flow breaking structures are nested"

                    Further reading

                    Method unsubscribe has a Cognitive Complexity of 11 (exceeds 5 allowed). Consider refactoring.
                    Open

                        def unsubscribe
                          subscription = nil
                          @gate.synchronize do
                            if @subscription
                              unless @primary_unsubscribed
                    Severity: Minor
                    Found in lib/rx/subscriptions/ref_count_subscription.rb - About 1 hr to fix

                    Cognitive Complexity

                    Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

                    A method's cognitive complexity is based on a few simple rules:

                    • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
                    • Code is considered more complex for each "break in the linear flow of the code"
                    • Code is considered more complex when "flow breaking structures are nested"

                    Further reading

                    Method invoke_recursive has a Cognitive Complexity of 11 (exceeds 5 allowed). Consider refactoring.
                    Open

                        def invoke_recursive(scheduler, pair)
                          group = CompositeSubscription.new
                          gate = Mutex.new
                          state = pair[:state]
                          action = pair[:action]
                    Severity: Minor
                    Found in lib/rx/concurrency/scheduler.rb - About 1 hr to fix

                    Cognitive Complexity

                    Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

                    A method's cognitive complexity is based on a few simple rules:

                    • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
                    • Code is considered more complex for each "break in the linear flow of the code"
                    • Code is considered more complex when "flow breaking structures are nested"

                    Further reading

                    Method advance_to has a Cognitive Complexity of 11 (exceeds 5 allowed). Consider refactoring.
                    Open

                        def advance_to(time)
                          due_to_clock = time<=>clock
                          raise 'Time is out of range' if due_to_clock < 0 
                    
                          return if due_to_clock == 0
                    Severity: Minor
                    Found in lib/rx/concurrency/virtual_time_scheduler.rb - About 1 hr to fix

                    Cognitive Complexity

                    Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

                    A method's cognitive complexity is based on a few simple rules:

                    • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
                    • Code is considered more complex for each "break in the linear flow of the code"
                    • Code is considered more complex when "flow breaking structures are nested"

                    Further reading

                    Method single has a Cognitive Complexity of 11 (exceeds 5 allowed). Consider refactoring.
                    Open

                        def single(&block)
                          return select(&block).single if block_given?
                          AnonymousObservable.new do |observer|
                            seen_value = false
                            value = nil
                    Severity: Minor
                    Found in lib/rx/operators/aggregates.rb - About 1 hr to fix

                    Cognitive Complexity

                    Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

                    A method's cognitive complexity is based on a few simple rules:

                    • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
                    • Code is considered more complex for each "break in the linear flow of the code"
                    • Code is considered more complex when "flow breaking structures are nested"

                    Further reading

                    Method take_last has a Cognitive Complexity of 11 (exceeds 5 allowed). Consider refactoring.
                    Open

                        def take_last(count, scheduler = CurrentThreadScheduler.instance)
                          raise ArgumentError.new 'Count cannot be less than zero' if count < 0
                          AnonymousObservable.new do |observer|
                            q = []
                            g = CompositeSubscription.new
                    Severity: Minor
                    Found in lib/rx/operators/single.rb - About 1 hr to fix

                    Cognitive Complexity

                    Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

                    A method's cognitive complexity is based on a few simple rules:

                    • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
                    • Code is considered more complex for each "break in the linear flow of the code"
                    • Code is considered more complex when "flow breaking structures are nested"

                    Further reading

                    Method distinct_until_changed has a Cognitive Complexity of 11 (exceeds 5 allowed). Consider refactoring.
                    Open

                        def distinct_until_changed(&key_selector)
                          key_selector ||= lambda {|x| x}
                          AnonymousObservable.new do |observer|
                            current_key = nil
                            has_current = nil
                    Severity: Minor
                    Found in lib/rx/operators/single.rb - About 1 hr to fix

                    Cognitive Complexity

                    Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

                    A method's cognitive complexity is based on a few simple rules:

                    • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
                    • Code is considered more complex for each "break in the linear flow of the code"
                    • Code is considered more complex when "flow breaking structures are nested"

                    Further reading

                    Method single_or_default has a Cognitive Complexity of 11 (exceeds 5 allowed). Consider refactoring.
                    Open

                        def single_or_default(default_value = nil, &block)
                          return select(&block).single_or_default(default_value) if block_given?
                          AnonymousObservable.new do |observer|
                            seen_value = false
                            value = nil
                    Severity: Minor
                    Found in lib/rx/operators/aggregates.rb - About 1 hr to fix

                    Cognitive Complexity

                    Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

                    A method's cognitive complexity is based on a few simple rules:

                    • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
                    • Code is considered more complex for each "break in the linear flow of the code"
                    • Code is considered more complex when "flow breaking structures are nested"

                    Further reading

                    Method invoke_recursive has 30 lines of code (exceeds 25 allowed). Consider refactoring.
                    Open

                        def invoke_recursive(scheduler, pair)
                          group = CompositeSubscription.new
                          gate = Mutex.new
                          state = pair[:state]
                          action = pair[:action]
                    Severity: Minor
                    Found in lib/rx/concurrency/scheduler.rb - About 1 hr to fix
                      Severity
                      Category
                      Status
                      Source
                      Language