class Endymion::Util

Public Class Methods

bind(name, value) { || ... } click to toggle source
# File lib/endymion/util.rb, line 43
def bind(name, value)
  old_value = Thread.current[name]
  begin
    Thread.current[name] = value
    yield
  ensure
    Thread.current[name] = old_value
  end
end
camel_case(str) click to toggle source
# File lib/endymion/util.rb, line 6
def camel_case(str)
  cameled = str.gsub(/[_| |\-][A-Za-z]/) { |a| a[1..-1].upcase } if str
  uncapitalize(cameled)
end
capitalize(str) click to toggle source
# File lib/endymion/util.rb, line 19
def capitalize(str)
  do_to_first(str) do |first_letter|
    first_letter.upcase
  end
end
class_name(str) click to toggle source
# File lib/endymion/util.rb, line 11
def class_name(str)
  capitalize(camel_case(str))
end
do_to_first(str) { |str| ... } click to toggle source
# File lib/endymion/util.rb, line 31
def do_to_first(str)
  if str
    first = yield(str[0, 1])
    if str.length > 1
      last = str[1..-1]
      first + last
    else
      first
    end
  end
end
snake_case(str) click to toggle source
# File lib/endymion/util.rb, line 15
def snake_case(str)
  str.gsub(/([a-z0-9])([A-Z])/, '\1 \2').downcase.gsub(/[ |\-]/, '_') if str
end
uncapitalize(str) click to toggle source
# File lib/endymion/util.rb, line 25
def uncapitalize(str)
  do_to_first(str) do |first_letter|
    first_letter.downcase
  end
end