Class: Setsumei::Build::Key

Inherits:
Object
  • Object
show all
Defined in:
lib/setsumei/build/key.rb

Class Method Summary collapse

Class Method Details

.at_symbol_case(name, keys = nil) ⇒ Object



15
16
17
18
# File 'lib/setsumei/build/key.rb', line 15

def Key.at_symbol_case name, keys = nil
  at_symbol_case = "@" + lower_camel_case(name)
  return_if at_symbol_case, in: keys
end

.direct(name, keys = nil) ⇒ Object



8
9
10
# File 'lib/setsumei/build/key.rb', line 8

def Key.direct name, keys = nil
  return_if name.to_s, in: keys
end

.for(name, options = { given: [name] }) ⇒ Object



4
5
6
7
# File 'lib/setsumei/build/key.rb', line 4

def Key.for(name,options = { given: [name] } )
  possible_keys = options[:given]
  direct(name,possible_keys) || lower_camel_case(name,possible_keys) || at_symbol_case(name,possible_keys) || upper_camel_case(name,possible_keys)
end

.lower_camel_case(name, keys = nil) ⇒ Object



11
12
13
14
# File 'lib/setsumei/build/key.rb', line 11

def Key.lower_camel_case name, keys = nil
  lower_camel_case = name.to_s.gsub(/_[a-zA-Z]/) { |a| a[1].upcase }
  return_if lower_camel_case, in: keys
end

.upper_camel_case(name, keys = nil) ⇒ Object



19
20
21
22
23
# File 'lib/setsumei/build/key.rb', line 19

def Key.upper_camel_case name, keys = nil
  lower_camel_case = self.lower_camel_case(name)
  upper_camel_case = lower_camel_case[0].upcase + lower_camel_case[1..-1]
  return_if upper_camel_case, in: keys
end