Module: Jeny::Caser

Defined in:
lib/jeny/caser.rb

Class Method Summary collapse

Class Method Details

.camel(src) ⇒ Object



71
72
73
74
# 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) ⇒ Object



100
101
102
103
# 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) ⇒ Object



55
56
57
# File 'lib/jeny/caser.rb', line 55

def constant(src)
  screaming(src)
end

.donner(src) ⇒ Object



106
107
108
109
# File 'lib/jeny/caser.rb', line 106

def donner(src)
  parts = gen_parts(src) unless src.is_a?(Array)
  parts.join("|")
end

.flat(src) ⇒ Object



26
27
28
29
# 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) ⇒ Object



4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# 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) ⇒ Object



22
23
24
# File 'lib/jeny/caser.rb', line 22

def self.gen_parts(src)
  src.split(/[ -_]/)
end

.header(src) ⇒ Object



95
96
97
# File 'lib/jeny/caser.rb', line 95

def header(src)
  train(src)
end

.kebab(src) ⇒ Object



83
84
85
86
# File 'lib/jeny/caser.rb', line 83

def kebab(src)
  parts = gen_parts(src) unless src.is_a?(Array)
  parts.join("-")
end

.macro(src) ⇒ Object



50
51
52
# File 'lib/jeny/caser.rb', line 50

def macro(src)
  screaming(src)
end

.pascal(src) ⇒ Object



77
78
79
80
# 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) ⇒ Object



44
45
46
47
# 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) ⇒ Object



66
67
68
# File 'lib/jeny/caser.rb', line 66

def snake(src)
  underscore(src)
end

.train(src) ⇒ Object



89
90
91
92
# 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) ⇒ Object



60
61
62
63
# File 'lib/jeny/caser.rb', line 60

def underscore(src)
  parts = gen_parts(src) unless src.is_a?(Array)
  parts.join("_")
end

.upper(src) ⇒ Object



32
33
34
35
# 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) ⇒ Object



38
39
40
41
# File 'lib/jeny/caser.rb', line 38

def upperflat(src)
  parts = gen_parts(src) unless src.is_a?(Array)
  parts.map(&:upcase).join
end