module Jeny::Caser

Public Class Methods

camel(src) click to toggle source
# File lib/jeny/caser.rb, line 71
def camel(src)
  parts = gen_parts(src) unless src.is_a?(Array)
  parts.first + parts[1..-1].map(&:capitalize).join
end
cobol(src) click to toggle source
# File lib/jeny/caser.rb, line 100
def cobol(src)
  parts = gen_parts(src) unless src.is_a?(Array)
  parts.map(&:upcase).join("-")
end
constant(src) click to toggle source
# File lib/jeny/caser.rb, line 55
def constant(src)
  screaming(src)
end
donner(src) click to toggle source
# File lib/jeny/caser.rb, line 106
def donner(src)
  parts = gen_parts(src) unless src.is_a?(Array)
  parts.join("|")
end
flat(src) click to toggle source
# File lib/jeny/caser.rb, line 26
def flat(src)
  parts = gen_parts(src) unless src.is_a?(Array)
  parts.join
end
for_hash(hash) click to toggle source
# File lib/jeny/caser.rb, line 4
def self.for_hash(hash)
  hash.each_pair.each_with_object({}) do |(k,v),memo|
    case v
    when String
      Caser.methods(false).each do |m|
        next if m == :for_hash or m == :gen_parts
        memo[Caser.send(m, k)] = Caser.send(m, v)
      end
    when Hash
      memo[k] = for_hash(v)
    when Array
      memo[k] = v.map{|x| for_hash(x) }
    else
      v
    end
  end
end
gen_parts(src) click to toggle source
# File lib/jeny/caser.rb, line 22
def self.gen_parts(src)
  src.split(/[ -_]/)
end
header(src) click to toggle source
# File lib/jeny/caser.rb, line 95
def header(src)
  train(src)
end
kebab(src) click to toggle source
# File lib/jeny/caser.rb, line 83
def kebab(src)
  parts = gen_parts(src) unless src.is_a?(Array)
  parts.join("-")
end
macro(src) click to toggle source
# File lib/jeny/caser.rb, line 50
def macro(src)
  screaming(src)
end
pascal(src) click to toggle source
# File lib/jeny/caser.rb, line 77
def pascal(src)
  parts = gen_parts(src) unless src.is_a?(Array)
  parts.map(&:capitalize).join
end
screaming(src) click to toggle source
# File lib/jeny/caser.rb, line 44
def screaming(src)
  parts = gen_parts(src) unless src.is_a?(Array)
  parts.map(&:upcase).join("_")
end
snake(src) click to toggle source
# File lib/jeny/caser.rb, line 66
def snake(src)
  underscore(src)
end
train(src) click to toggle source
# File lib/jeny/caser.rb, line 89
def train(src)
  parts = gen_parts(src) unless src.is_a?(Array)
  parts.map(&:capitalize).join("-")
end
underscore(src) click to toggle source
# File lib/jeny/caser.rb, line 60
def underscore(src)
  parts = gen_parts(src) unless src.is_a?(Array)
  parts.join("_")
end
upper(src) click to toggle source
# File lib/jeny/caser.rb, line 32
def upper(src)
  parts = gen_parts(src) unless src.is_a?(Array)
  parts.map(&:upcase).join(" ")
end
upperflat(src) click to toggle source
# File lib/jeny/caser.rb, line 38
def upperflat(src)
  parts = gen_parts(src) unless src.is_a?(Array)
  parts.map(&:upcase).join
end

Private Instance Methods

camel(src) click to toggle source
# File lib/jeny/caser.rb, line 71
def camel(src)
  parts = gen_parts(src) unless src.is_a?(Array)
  parts.first + parts[1..-1].map(&:capitalize).join
end
cobol(src) click to toggle source
# File lib/jeny/caser.rb, line 100
def cobol(src)
  parts = gen_parts(src) unless src.is_a?(Array)
  parts.map(&:upcase).join("-")
end
constant(src) click to toggle source
# File lib/jeny/caser.rb, line 55
def constant(src)
  screaming(src)
end
donner(src) click to toggle source
# File lib/jeny/caser.rb, line 106
def donner(src)
  parts = gen_parts(src) unless src.is_a?(Array)
  parts.join("|")
end
flat(src) click to toggle source
# File lib/jeny/caser.rb, line 26
def flat(src)
  parts = gen_parts(src) unless src.is_a?(Array)
  parts.join
end
header(src) click to toggle source
# File lib/jeny/caser.rb, line 95
def header(src)
  train(src)
end
kebab(src) click to toggle source
# File lib/jeny/caser.rb, line 83
def kebab(src)
  parts = gen_parts(src) unless src.is_a?(Array)
  parts.join("-")
end
macro(src) click to toggle source
# File lib/jeny/caser.rb, line 50
def macro(src)
  screaming(src)
end
pascal(src) click to toggle source
# File lib/jeny/caser.rb, line 77
def pascal(src)
  parts = gen_parts(src) unless src.is_a?(Array)
  parts.map(&:capitalize).join
end
screaming(src) click to toggle source
# File lib/jeny/caser.rb, line 44
def screaming(src)
  parts = gen_parts(src) unless src.is_a?(Array)
  parts.map(&:upcase).join("_")
end
snake(src) click to toggle source
# File lib/jeny/caser.rb, line 66
def snake(src)
  underscore(src)
end
train(src) click to toggle source
# File lib/jeny/caser.rb, line 89
def train(src)
  parts = gen_parts(src) unless src.is_a?(Array)
  parts.map(&:capitalize).join("-")
end
underscore(src) click to toggle source
# File lib/jeny/caser.rb, line 60
def underscore(src)
  parts = gen_parts(src) unless src.is_a?(Array)
  parts.join("_")
end
upper(src) click to toggle source
# File lib/jeny/caser.rb, line 32
def upper(src)
  parts = gen_parts(src) unless src.is_a?(Array)
  parts.map(&:upcase).join(" ")
end
upperflat(src) click to toggle source
# File lib/jeny/caser.rb, line 38
def upperflat(src)
  parts = gen_parts(src) unless src.is_a?(Array)
  parts.map(&:upcase).join
end