Module: GraphWeaver::Inflect
- Included in:
- Codegen, Codegen::Emit, Testing::Values
- Defined in:
- lib/graph_weaver/inflect.rb
Overview
GraphQL names are plain camelCase/SCREAMING_SNAKE — no acronym edge cases, so minimal inflection beats an activesupport dependency
Class Method Summary collapse
Class Method Details
.camelize(name) ⇒ Object
14 15 16 17 |
# File 'lib/graph_weaver/inflect.rb', line 14 def camelize(name) # reject: leading underscores split into empty parts (_Service, _and) name.split("_").reject(&:empty?).map { |part| "#{part[0].upcase}#{part[1..]}" }.join end |
.underscore(name) ⇒ Object
10 11 12 |
# File 'lib/graph_weaver/inflect.rb', line 10 def underscore(name) name.gsub(/([a-z\d])([A-Z])/, '\1_\2').downcase end |