Class: Kumogata::Utils

Inherits:
Object
  • Object
show all
Defined in:
lib/kumogata/utils.rb

Class Method Summary collapse

Class Method Details

.camelize(str) ⇒ Object



3
4
5
6
7
# File 'lib/kumogata/utils.rb', line 3

def camelize(str)
  str.to_s.split(/[-_]/).map {|i|
    i[0, 1].upcase + i[1..-1].downcase
  }.join
end

.filter_backtrace(backtrace) ⇒ Object



21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
# File 'lib/kumogata/utils.rb', line 21

def filter_backtrace(backtrace)
  filter_path = ['(eval)']

  if defined?(Gem)
    filter_path.concat(Gem.path)
    filter_path << Gem.bindir
  end

  RbConfig::CONFIG.select {|k, v|
    k.to_s =~ /libdir/
  }.each {|k, v| filter_path << v }

  filter_path = filter_path.map {|i| /\A#{Regexp.escape(i)}/ }

  backtrace.select do |path|
    path = path.split(':', 2).first
    not filter_path.any? {|i| i =~ path }
  end
end

.get_user_hostObject



9
10
11
12
13
14
# File 'lib/kumogata/utils.rb', line 9

def get_user_host
  user = `whoami`.strip rescue ''
  host = `hostname`.strip rescue ''
  user_host = [user, host].select {|i| not i.empty? }.join('-')
  user_host.empty? ? nil : user_host
end

.random_param_name(n) ⇒ Object



16
17
18
19
# File 'lib/kumogata/utils.rb', line 16

def random_param_name(n)
  a_zA_Z0_9 = (('a'..'z').to_a + ('A'..'Z').to_a + ('0'..'9').to_a)
  a_zA_Z0_9.sample(n).join
end

.stringify(obj) ⇒ Object



41
42
43
44
45
46
47
48
49
50
51
52
# File 'lib/kumogata/utils.rb', line 41

def stringify(obj)
  case obj
  when Array
    obj.map {|i| stringify(i) }
  when Hash
    hash = {}
    obj.each {|k, v| hash[stringify(k)] = stringify(v) }
    hash
  else
    obj.to_s
  end
end