module ActiveFacts::Composition::Traits::Rails
Public Class Methods
name_trunc(name)
click to toggle source
# File lib/activefacts/compositions/traits/rails.rb, line 35 def self.name_trunc name if name.length > 63 hash = Digest::SHA1.hexdigest name name = name[0, 53] + '__' + hash[0, 8] end name end
plural_name(name)
click to toggle source
# File lib/activefacts/compositions/traits/rails.rb, line 43 def self.plural_name name # Crunch spaces and pluralise the first part, all in snake_case name.pop if name.is_a?(Array) and name.last == [] name = name[0]*'_' if name.is_a?(Array) and name.size == 1 if name.is_a?(Array) name = ActiveSupport::Inflector.tableize((name[0]*'_').gsub(/\s+/, '_')) + '_' + ActiveSupport::Inflector.underscore((name[1..-1].flatten*'_').gsub(/\s+/, '_')) else ActiveSupport::Inflector.tableize(name.gsub(/\s+/, '_')) end end
singular_name(name)
click to toggle source
# File lib/activefacts/compositions/traits/rails.rb, line 56 def self.singular_name name # Crunch spaces and convert to snake_case name = name.flatten*'_' if name.is_a?(Array) ActiveSupport::Inflector.underscore(name.gsub(/\s+/, '_')) end