module ActiveFacts::RMap

Public Class Methods

rails_name_trunc(name) click to toggle source
# File lib/activefacts/generators/traits/rails.rb, line 8
def self.rails_name_trunc name
  if name.length > 63
    hash = Digest::SHA1.hexdigest name
    name = name[0, 53] + '__' + hash[0, 8]
  end
  name
end
rails_plural_name(name) click to toggle source
# File lib/activefacts/generators/traits/rails.rb, line 16
def self.rails_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
rails_singular_name(name) click to toggle source
# File lib/activefacts/generators/traits/rails.rb, line 29
def self.rails_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