Module: ActiveFacts::Generate::Rails::Helpers

Included in:
Persistence::ForeignKey
Defined in:
lib/activefacts/generate/helpers/rails.rb

Instance Method Summary collapse

Instance Method Details

#rails_class_name(name) ⇒ Object



24
25
26
27
# File 'lib/activefacts/generate/helpers/rails.rb', line 24

def rails_class_name name
  name = name*'_' if name.is_a?(Array)
  ActiveSupport::Inflector.camelize(name.gsub(/\s+/, '_'))
end

#rails_plural_name(name) ⇒ Object



5
6
7
8
9
10
11
12
13
14
15
16
# File 'lib/activefacts/generate/helpers/rails.rb', line 5

def 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) ⇒ Object



18
19
20
21
22
# File 'lib/activefacts/generate/helpers/rails.rb', line 18

def 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