Sha256: d011c96f13beccdcb7c79d2cec1b6b18e385c4fab6beaf13ee279e927f80da81

Contents?: true

Size: 364 Bytes

Versions: 7

Compression:

Stored size: 364 Bytes

Contents

# frozen_string_literal: true

module Anyway
  module Ext
    # Extend String through refinements
    module Class
      refine ::Class do
        def underscore_name
          return unless name
          word = name[/^(\w+)/]
          word.gsub!(/([A-Z\d]+)([A-Z][a-z])/, '\1_\2')
          word.downcase!
          word
        end
      end
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
anyway_config-1.1.3 lib/anyway/ext/class.rb
anyway_config-1.1.2 lib/anyway/ext/class.rb
anyway_config-1.1.1 lib/anyway/ext/class.rb
anyway_config-1.1.0 lib/anyway/ext/class.rb
anyway_config-1.0.0 lib/anyway/ext/class.rb
anyway_config-1.0.0.rc1 lib/anyway/ext/class.rb
anyway_config-0.5.1.rc1 lib/anyway/ext/class.rb