Module: DropletKit::Utils
- Defined in:
- lib/droplet_kit/utils.rb
Class Method Summary collapse
Class Method Details
.camelize(term) ⇒ Object
3 4 5 6 7 8 9 |
# File 'lib/droplet_kit/utils.rb', line 3 def self.camelize(term) string = term.to_s string.sub!(/^[a-z\d]*/, &:capitalize) string.gsub!(%r{(?:_|(/))([a-z\d]*)}i) { $2.capitalize } string.gsub!('/'.freeze, '::'.freeze) string end |
.transform_keys(hash, &block) ⇒ Object
22 23 24 25 26 27 28 29 30 31 |
# File 'lib/droplet_kit/utils.rb', line 22 def self.transform_keys(hash, &block) return hash.transform_keys(&block) if hash.respond_to?(:transform_keys) return to_enum(__caller__) unless block_given? {}.tap do |result| hash.each do |key, value| result[block.call(key)] = value end end end |
.underscore(term) ⇒ Object
11 12 13 14 15 16 17 18 19 20 |
# File 'lib/droplet_kit/utils.rb', line 11 def self.underscore(term) return term unless /[A-Z-]|::/ =~ term word = term.to_s.gsub('::'.freeze, '/'.freeze) word.gsub!(/([A-Z\d]+)([A-Z][a-z])/, '\1_\2'.freeze) word.gsub!(/([a-z\d])([A-Z])/, '\1_\2'.freeze) word.tr!('-'.freeze, '_'.freeze) word.downcase! word end |