Module: Decanter::Parser::Utils

Included in:
Decanter::Parser
Defined in:
lib/decanter/parser/utils.rb

Instance Method Summary collapse

Instance Method Details

#camelize_str(klass_or_sym) ⇒ Object



22
23
24
# File 'lib/decanter/parser/utils.rb', line 22

def camelize_str(klass_or_sym)
  klass_or_sym.to_s.camelize
end

#concat_str(parser_str) ⇒ Object



26
27
28
# File 'lib/decanter/parser/utils.rb', line 26

def concat_str(parser_str)
  'Decanter::Parser::'.concat(parser_str)
end

#singular_class_present?(klass_or_sym) ⇒ Boolean

Returns:

  • (Boolean)


13
14
15
16
# File 'lib/decanter/parser/utils.rb', line 13

def singular_class_present?(klass_or_sym)
  parser_str = singularize_and_camelize_str(klass_or_sym)
  concat_str(parser_str).safe_constantize.present?
end

#singularize_and_camelize_str(klass_or_sym) ⇒ Object



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

def singularize_and_camelize_str(klass_or_sym)
  klass_or_sym.to_s.singularize.camelize
end

#symbol_to_string(klass_or_sym) ⇒ Object

extract string transformation strategies



5
6
7
8
9
10
11
# File 'lib/decanter/parser/utils.rb', line 5

def symbol_to_string(klass_or_sym)
  if singular_class_present?(klass_or_sym)
    singularize_and_camelize_str(klass_or_sym)
  else
    camelize_str(klass_or_sym)
  end
end