module Rbvore::Resource::Names
Public Instance Methods
list_name()
click to toggle source
# File lib/rbvore/resource/names.rb, line 20 def list_name @list_name ||= "#{singularize}_list" end
pluralize()
click to toggle source
# File lib/rbvore/resource/names.rb, line 24 def pluralize @pluralize ||= case when singularize.end_with?('y') singularize[0..-2] + 'ies' else singularize + "s" end end
singularize()
click to toggle source
# File lib/rbvore/resource/names.rb, line 16 def singularize @singularize ||= underscore(name.split("::").last) end
underscore(value)
click to toggle source
# File lib/rbvore/resource/names.rb, line 6 def underscore(value) return value unless /[A-Z-]/.match?(value) word = value.to_s.gsub(/([A-Z\d]+)([A-Z][a-z])/, '\1_\2') word.gsub!(/([a-z\d])([A-Z])/, '\1_\2') word.tr!("-", "_") word.downcase! word end