Method: Shards::Workflow::Base#decamelize

Defined in:
lib/shards/workflow/base.rb

#decamelize(camelcase) ⇒ Object



59
60
61
62
63
64
65
66
67
# File 'lib/shards/workflow/base.rb', line 59

def decamelize camelcase
  camelcase.
    gsub(/([A-Z\d]+)([A-Z][a-z])/, '\1_\2').
    gsub(/([a-z]+)([A-Z\d])/, '\1_\2').
    gsub(/([A-Z]{2,})(\d+)/i, '\1_\2').
    gsub(/(\d+)([a-z])/i, '\1_\2').
    gsub(/(.+?)\&(.+?)/, '\1_&_\2').
    gsub(/\s/, '_').downcase
end