Sha256: 63dc57f3584f6159a7c00c36ae9f18eaa87416156a2c59a913a17cf92cb37105

Contents?: true

Size: 510 Bytes

Versions: 18

Compression:

Stored size: 510 Bytes

Contents

module QueueClassicPlus
  module Inflector
    # Storngly inspired by
    # https://github.com/rails/rails/blob/master/activesupport/lib/active_support/inflector/methods.rb#L91
    def self.underscore(camel_cased_word)
      return camel_cased_word unless camel_cased_word =~ /[A-Z-]|::/
      word = camel_cased_word.to_s.gsub(/::/, '/')
      word.gsub!(/([A-Z\d]+)([A-Z][a-z])/,'\1_\2')
      word.gsub!(/([a-z\d])([A-Z])/,'\1_\2')
      word.tr!("-", "_")
      word.downcase!
      word
    end
  end
end

Version data entries

18 entries across 18 versions & 1 rubygems

Version Path
queue_classic_plus-4.0.0.alpha21 lib/queue_classic_plus/inflector.rb
queue_classic_plus-4.0.0.alpha20 lib/queue_classic_plus/inflector.rb
queue_classic_plus-4.0.0.alpha19 lib/queue_classic_plus/inflector.rb
queue_classic_plus-4.0.0.alpha18 lib/queue_classic_plus/inflector.rb
queue_classic_plus-4.0.0.alpha17 lib/queue_classic_plus/inflector.rb
queue_classic_plus-4.0.0.alpha16 lib/queue_classic_plus/inflector.rb
queue_classic_plus-4.0.0.alpha15 lib/queue_classic_plus/inflector.rb
queue_classic_plus-4.0.0.alpha14 lib/queue_classic_plus/inflector.rb
queue_classic_plus-4.0.0.alpha13 lib/queue_classic_plus/inflector.rb
queue_classic_plus-4.0.0.alpha12 lib/queue_classic_plus/inflector.rb
queue_classic_plus-4.0.0.alpha11 lib/queue_classic_plus/inflector.rb
queue_classic_plus-4.0.0.alpha10 lib/queue_classic_plus/inflector.rb
queue_classic_plus-4.0.0.alpha9 lib/queue_classic_plus/inflector.rb
queue_classic_plus-4.0.0.alpha8 lib/queue_classic_plus/inflector.rb
queue_classic_plus-1.1.0 lib/queue_classic_plus/inflector.rb
queue_classic_plus-1.0.1 lib/queue_classic_plus/inflector.rb
queue_classic_plus-1.0.0 lib/queue_classic_plus/inflector.rb
queue_classic_plus-1.0.0.alpha2 lib/queue_classic_plus/inflector.rb