Sha256: 0b845264cab482beba399e32084cfa10b4a8c4691f1ecf5d8292ea933033398e

Contents?: true

Size: 523 Bytes

Versions: 30

Compression:

Stored size: 523 Bytes

Contents

# frozen_string_literal: true

class ReeString::Deconstantize
  include Ree::FnDSL

  fn :deconstantize

  doc(<<~DOC)
    Removes the rightmost segment from the constant expression in the string.

      deconstantize('Net::HTTP')   # => "Net"
      deconstantize('::Net::HTTP') # => "::Net"
      deconstantize('String')      # => ""
      deconstantize('::String')    # => ""
      deconstantize('')            # => ""
  DOC
  contract(String => String)
  def call(path)
    path.to_s[0, path.rindex("::") || 0]
  end
end

Version data entries

30 entries across 30 versions & 1 rubygems

Version Path
ree_lib-1.0.104 lib/ree_lib/packages/ree_string/package/ree_string/functions/deconstantize.rb
ree_lib-1.0.103 lib/ree_lib/packages/ree_string/package/ree_string/functions/deconstantize.rb
ree_lib-1.0.102 lib/ree_lib/packages/ree_string/package/ree_string/functions/deconstantize.rb
ree_lib-1.0.101 lib/ree_lib/packages/ree_string/package/ree_string/functions/deconstantize.rb
ree_lib-1.0.100 lib/ree_lib/packages/ree_string/package/ree_string/functions/deconstantize.rb
ree_lib-1.0.99 lib/ree_lib/packages/ree_string/package/ree_string/functions/deconstantize.rb
ree_lib-1.0.98 lib/ree_lib/packages/ree_string/package/ree_string/functions/deconstantize.rb
ree_lib-1.0.97 lib/ree_lib/packages/ree_string/package/ree_string/functions/deconstantize.rb
ree_lib-1.0.96 lib/ree_lib/packages/ree_string/package/ree_string/functions/deconstantize.rb
ree_lib-1.0.95 lib/ree_lib/packages/ree_string/package/ree_string/functions/deconstantize.rb