Module: ActiveFacts::Persistence
- Included in:
- Generate::Composition, Generate::DM, Generate::Rails::SchemaRb, Generate::SQL::MYSQL, Generate::SQL::SERVER
- Defined in:
- lib/activefacts/persistence/columns.rb,
lib/activefacts/mapping/rails.rb,
lib/activefacts/persistence/index.rb,
lib/activefacts/generate/rails/models.rb,
lib/activefacts/persistence/reference.rb,
lib/activefacts/generate/helpers/rails.rb,
lib/activefacts/persistence/foreignkey.rb,
lib/activefacts/generate/transform/surrogate.rb
Overview
Defined Under Namespace
Classes: Column, ForeignKey, Index, Reference
Class Method Summary
collapse
Class Method Details
.rails_name_trunc(name) ⇒ Object
8
9
10
11
12
13
14
|
# File 'lib/activefacts/mapping/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) ⇒ Object
16
17
18
19
20
21
22
23
24
25
26
27
|
# File 'lib/activefacts/mapping/rails.rb', line 16
def self.rails_plural_name name
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
29
30
31
32
33
|
# File 'lib/activefacts/mapping/rails.rb', line 29
def self.rails_singular_name name
name = name.flatten*'_' if name.is_a?(Array)
ActiveSupport::Inflector.underscore(name.gsub(/\s+/, '_'))
end
|