Sha256: 6bc16622946b5da86d92630fbd47ac4c0a34b16f76542ce05d3ec749426eb167

Contents?: true

Size: 557 Bytes

Versions: 15

Compression:

Stored size: 557 Bytes

Contents

# frozen_string_literal: true

require 'active_support/inflector'

module LittleWeasel
  module Modules
    # This module provides methods to convert the class name of the class
    # mixing this module in to snake-case.
    module ClassNameToSymbol
      def self.included(base)
        base.extend(ClassMethods)
      end

      # class method inclusions for convenience.
      module ClassMethods
        def to_sym
          name.demodulize.underscore.to_sym
        end
      end

      def to_sym
        self.class.to_sym
      end
    end
  end
end

Version data entries

15 entries across 15 versions & 1 rubygems

Version Path
LittleWeasel-5.0.13 lib/LittleWeasel/modules/class_name_to_symbol.rb
LittleWeasel-5.0.12 lib/LittleWeasel/modules/class_name_to_symbol.rb
LittleWeasel-5.0.11 lib/LittleWeasel/modules/class_name_to_symbol.rb
LittleWeasel-5.0.10 lib/LittleWeasel/modules/class_name_to_symbol.rb
LittleWeasel-5.0.9 lib/LittleWeasel/modules/class_name_to_symbol.rb
LittleWeasel-5.0.8 lib/LittleWeasel/modules/class_name_to_symbol.rb
LittleWeasel-5.0.7 lib/LittleWeasel/modules/class_name_to_symbol.rb
LittleWeasel-5.0.6 lib/LittleWeasel/modules/class_name_to_symbol.rb
LittleWeasel-5.0.5 lib/LittleWeasel/modules/class_name_to_symbol.rb
LittleWeasel-5.0.4 lib/LittleWeasel/modules/class_name_to_symbol.rb
LittleWeasel-5.0.3 lib/LittleWeasel/modules/class_name_to_symbol.rb
LittleWeasel-5.0.2 lib/LittleWeasel/modules/class_name_to_symbol.rb
LittleWeasel-5.0.1 lib/LittleWeasel/modules/class_name_to_symbol.rb
LittleWeasel-5.0.0 lib/LittleWeasel/modules/class_name_to_symbol.rb
LittleWeasel-4.0.0 lib/LittleWeasel/modules/class_name_to_symbol.rb