Sha256: e736ff2512acbaa98c8b1a0e9653c00794bd2eb112aaa23667f4cd4e5bde8543

Contents?: true

Size: 1.07 KB

Versions: 23

Compression:

Stored size: 1.07 KB

Contents

# frozen_string_literal: true

module ConvenientService
  module Utils
    module Array
      class DropWhile < Support::Command
        ##
        # @!attribute [r] array
        #   @return [Array]
        #
        attr_reader :array

        ##
        # @!attribute [r] inclusively
        #   @return [Boolean]
        #
        attr_reader :inclusively

        ##
        # @!attribute [r] condition_block
        #   @return [Proc]
        #
        attr_reader :condition_block

        ##
        # @param array [Array]
        # @param inclusively [Boolean]
        # @param condition_block [Proc]
        # @return [void]
        #
        def initialize(array, inclusively: false, &condition_block)
          @array = array
          @inclusively = inclusively
          @condition_block = condition_block
        end

        ##
        # @return [Array]
        #
        def call
          remained_items = array.drop_while(&condition_block)

          remained_items = remained_items.drop(1) if inclusively

          remained_items
        end
      end
    end
  end
end

Version data entries

23 entries across 23 versions & 1 rubygems

Version Path
convenient_service-0.19.1 lib/convenient_service/utils/array/drop_while.rb
convenient_service-0.19.0 lib/convenient_service/utils/array/drop_while.rb
convenient_service-0.18.0 lib/convenient_service/utils/array/drop_while.rb
convenient_service-0.17.0 lib/convenient_service/utils/array/drop_while.rb
convenient_service-0.16.0 lib/convenient_service/utils/array/drop_while.rb
convenient_service-0.15.0 lib/convenient_service/utils/array/drop_while.rb
convenient_service-0.14.0 lib/convenient_service/utils/array/drop_while.rb
convenient_service-0.13.0 lib/convenient_service/utils/array/drop_while.rb
convenient_service-0.12.0 lib/convenient_service/utils/array/drop_while.rb
convenient_service-0.11.0 lib/convenient_service/utils/array/drop_while.rb
convenient_service-0.10.1 lib/convenient_service/utils/array/drop_while.rb
convenient_service-0.10.0 lib/convenient_service/utils/array/drop_while.rb
convenient_service-0.9.0 lib/convenient_service/utils/array/drop_while.rb
convenient_service-0.8.0 lib/convenient_service/utils/array/drop_while.rb
convenient_service-0.7.0 lib/convenient_service/utils/array/drop_while.rb
convenient_service-0.6.0 lib/convenient_service/utils/array/drop_while.rb
convenient_service-0.5.0 lib/convenient_service/utils/array/drop_while.rb
convenient_service-0.4.0 lib/convenient_service/utils/array/drop_while.rb
convenient_service-0.3.1 lib/convenient_service/utils/array/drop_while.rb
convenient_service-0.3.0 lib/convenient_service/utils/array/drop_while.rb