module Convection::DSL::Helpers
Helper methods for creating templates
Public Class Methods
included(mod)
click to toggle source
# File lib/convection/dsl/helpers.rb, line 37 def included(mod) DSL::IntrinsicFunctions.mixers << mod mod.extend(DSL::ClassHelpers) end
method_name(cf_type)
click to toggle source
# File lib/convection/dsl/helpers.rb, line 43 def method_name(cf_type) nodes = cf_type.split('::') nodes.shift # Remove AWS:: ## Cammel-case to snake-case nodes.map! do |n| n.split(/([A-Z0-9])(?![A-Z0-9])(?<!$)/) .reject(&:empty?) .reduce('') { |a, e| (e.length == 1 && !a.empty?) ? a + "_#{e}" : a + e } .downcase end nodes.join('_').downcase end
Public Instance Methods
camel_case(str)
click to toggle source
Convert various casings to CamelCase
# File lib/convection/dsl/helpers.rb, line 60 def camel_case(str) str.downcase.split(/[\.\-_]/).map(&:capitalize).join end
screaming_snake_case(str)
click to toggle source
Convert various casings to SCREAMING_SNAKE_CASE
# File lib/convection/dsl/helpers.rb, line 70 def screaming_snake_case(str) str.upcase.split(/[\.\-_]/).join('_') end
snake_case(str)
click to toggle source
Convert various casings to snake_case
# File lib/convection/dsl/helpers.rb, line 65 def snake_case(str) str.downcase.split(/[\.\-_]/).join('_') end