Sha256: e058db473d8620643ea04a01da872107a557d0c516cfba7ea7fb809914ceff40

Contents?: true

Size: 472 Bytes

Versions: 1

Compression:

Stored size: 472 Bytes

Contents

# frozen_string_literal: true

module Refinements
  # Refinements for Strings.
  module StringExtensions
    refine String do
      def camelcase
        return self if self =~ /\A[a-zA-Z]{1,}\z/ && self !~ /\A[A-Z]{1,}\z/
        snakecase.split("_").map(&:capitalize).join ""
      end

      def snakecase
        downcase.gsub(/[^a-z]/, "_").squeeze "_"
      end

      def titleize
        snakecase.split("_").map(&:capitalize).join " "
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
refinements-2.2.0 lib/refinements/string_extensions.rb