Module: DynamicModel::ActiveRecordExtension::ClassMethods

Defined in:
lib/database_introspection/dynamic_model/active_record_extension.rb

Overview

This one, only for the class

Instance Method Summary collapse

Instance Method Details

#alter(&block) ⇒ Object



35
36
37
# File 'lib/database_introspection/dynamic_model/active_record_extension.rb', line 35

def alter(&block)
  self.domain.alter_table(self.list_name, &block)
end

#display_nameObject



18
19
20
# File 'lib/database_introspection/dynamic_model/active_record_extension.rb', line 18

def display_name
  self.name.gsub(/^.*::([^:]+)$/, "\\1").titleize
end

#domainObject



22
23
24
25
# File 'lib/database_introspection/dynamic_model/active_record_extension.rb', line 22

def domain
  puts name.gsub(/^.*::[^:]+$/, '')
  name.gsub(/::[^:]+$/, '').constantize
end

#list_nameObject



31
32
33
# File 'lib/database_introspection/dynamic_model/active_record_extension.rb', line 31

def list_name
  self.name.gsub( /^.*::([^:]+)$/, "\\1") .underscore.pluralize
end

#name_spaceObject



27
28
29
# File 'lib/database_introspection/dynamic_model/active_record_extension.rb', line 27

def name_space
  self.name.gsub(/DynamicModel::ManagedDomains::([^:]+)::.*$/, "\\1") .underscore
end

#to_paramObject



14
15
16
# File 'lib/database_introspection/dynamic_model/active_record_extension.rb', line 14

def to_param
  "#{self.name_space}/#{self.list_name}"
end