Sha256: d56501a09e3922e6e5f9c2863203c89bd2edd7a0ff5a6a5b0ea109643dea6537

Contents?: true

Size: 855 Bytes

Versions: 12

Compression:

Stored size: 855 Bytes

Contents

# frozen_string_literal: true

module ConvenientService
  module Utils
    module String
      class Split < Support::Command
        ##
        # @!attribute [r] string
        #   @return [String]
        #
        attr_reader :string

        ##
        # @!attribute [r] delimiters
        #   @return [Array<String>]
        #
        attr_reader :delimiters

        ##
        # @param string [#to_s]
        # @param delimiters [Array<String>]
        # @return [void]
        #
        def initialize(string, *delimiters)
          @string = string.to_s
          @delimiters = delimiters
        end

        ##
        # @return [String]
        #
        # @internal
        #   https://stackoverflow.com/a/51380514/12201472
        #
        def call
          string.split(::Regexp.union(delimiters))
        end
      end
    end
  end
end

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
convenient_service-0.19.1 lib/convenient_service/utils/string/split.rb
convenient_service-0.19.0 lib/convenient_service/utils/string/split.rb
convenient_service-0.18.0 lib/convenient_service/utils/string/split.rb
convenient_service-0.17.0 lib/convenient_service/utils/string/split.rb
convenient_service-0.16.0 lib/convenient_service/utils/string/split.rb
convenient_service-0.15.0 lib/convenient_service/utils/string/split.rb
convenient_service-0.14.0 lib/convenient_service/utils/string/split.rb
convenient_service-0.13.0 lib/convenient_service/utils/string/split.rb
convenient_service-0.12.0 lib/convenient_service/utils/string/split.rb
convenient_service-0.11.0 lib/convenient_service/utils/string/split.rb
convenient_service-0.10.1 lib/convenient_service/utils/string/split.rb
convenient_service-0.10.0 lib/convenient_service/utils/string/split.rb