I''ve seen this topic has been discussed a couple of times. However,
I''m
wondering if a method exists in rails to test a name against the reserved
words listed on the wiki?
Just wanted to check before I write this myself (and type in all of those
names -- including PostgreSQL).
To explain the application:
I''ve written a project that manages ldap data. On a fresh install,
there is
very small interface. Mainly just a System menu with the following options:
Folders:
This allows to create high level menu items, this is a tree structure so
you can nest folders to generate sub menus.
Entries:
This defines what the data in the system. You add an entry to a folder.
It creates tables base of off the user entries with various column type
options. A lot of other stuff here, too much to talk about now. This is the
bulk of the system. How you create entries defines the lists and edit
screens as well.
LDAP:
A simple config screen for setting up which ldap server you are working
with and a management area that lists what changes are to be done (with
ability to cancel, etc..).
So, there are no model files for the entries. They are created dynamically
with the following lib:
module Stone
module Dynamic
class << self
def klass(table_name)
tname = class_name_from_table(table_name)
const_missing(tname)
rescue NameError
define_klass(table_name)
end
def objeck(table_name)
klass(table_name).new
end
private
def class_name_from_table(table_name)
Inflector.camelize(table_name)
end
def define_klass(table_name)
tname = class_name_from_table(table_name)
class_def = <<-end_eval
class #{tname} < ActiveRecord::Base
set_table_name(''#{table_name}'')
end
end_eval
eval(class_def, TOPLEVEL_BINDING)
const_get(tname)
end
end
end
end
I need to somehow validate against reserved words. Any suggestions?
Anything wrong with the Dynamic module?
Sorry for the long post,
andy
--
Andrew Stone
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
http://wrath.rubyonrails.org/pipermail/rails/attachments/20060728/07fcd765/attachment.html