Module: Camoufox::Utils

Defined in:
lib/camoufox/utils.rb

Class Method Summary collapse

Class Method Details

.camel_case(key) ⇒ Object



11
12
13
14
15
16
# File 'lib/camoufox/utils.rb', line 11

def camel_case(key)
  segments = key.to_s.split('_')
  return key.to_s if segments.length < 2

  [segments.first, *segments[1..].map { |segment| segment[0].to_s.upcase + segment[1..].to_s }].join
end

.camelize(value) ⇒ Object



22
23
24
25
26
27
28
29
30
31
32
33
# File 'lib/camoufox/utils.rb', line 22

def camelize(value)
  case value
  when Hash
    value.each_with_object({}) do |(k, v), acc|
      acc[camel_case(k)] = camelize(v)
    end
  when Array
    value.map { |element| camelize(element) }
  else
    value
  end
end

.camelize_hash(hash) ⇒ Object



18
19
20
# File 'lib/camoufox/utils.rb', line 18

def camelize_hash(hash)
  camelize(hash)
end

.launch_options(**kwargs) ⇒ Object



7
8
9
# File 'lib/camoufox/utils.rb', line 7

def launch_options(**kwargs)
  LaunchOptions.new(NativeBridge.launch_options(**kwargs))
end