Sha256: f22d6f80ddf2dc62e812aca718d95d967f5ba7d8c479b6d547a8c7a5c6b0cf1d

Contents?: true

Size: 322 Bytes

Versions: 5

Compression:

Stored size: 322 Bytes

Contents

module Nori
  module CoreExt
    module String

      def snake_case
        return self.downcase if self =~ /^[A-Z]+$/
        self.gsub(/([A-Z]+)(?=[A-Z][a-z]?)|\B[A-Z]/, '_\&') =~ /_*(.*)/
        $+.downcase
      end unless method_defined?(:snake_case)

    end
  end
end

String.send :include, Nori::CoreExt::String

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
nori-0.2.4 lib/nori/core_ext/string.rb
nori-0.2.3 lib/nori/core_ext/string.rb
nori-0.2.2 lib/nori/core_ext/string.rb
nori-0.2.1 lib/nori/core_ext/string.rb
nori-0.2.0 lib/nori/core_ext/string.rb