lib/initialization/initializers/orm_support.rb in mack-0.4.2.1 vs lib/initialization/initializers/orm_support.rb in mack-0.4.5
- old
+ new
@@ -1,21 +1,46 @@
+#--
# setup ORM:
+#++
-[:activerecord, :data_mapper].each do |orm|
- eval("def using_#{orm}?; false; end")
+$using_active_record = false
+$using_data_mapper = false
+
+# Returns true if the system is setup to use ActiveRecord
+def using_active_record?
+ $using_active_record
end
+# Returns true if the system is setup to use DataMapper
+def using_data_mapper?
+ $using_data_mapper
+end
+
+module ActiveRecord # :nodoc:
+end
+module DataMapper # :nodoc:
+end
+
unless app_config.orm.nil?
dbs = YAML::load(ERB.new(IO.read(File.join(MACK_CONFIG, "database.yml"))).result)
case app_config.orm
- when 'activerecord'
+ when 'active_record'
require 'activerecord'
ActiveRecord::Base.establish_connection(dbs[MACK_ENV])
- eval("def using_activerecord?; true; end")
+ class ArSchemaInfo < ActiveRecord::Base # :nodoc:
+ set_table_name :schema_info
+ end
+ $using_active_record = true
+ $using_data_mapper = false # set to false, in case we're flipping back and forth
when 'data_mapper'
require 'data_mapper'
DataMapper::Database.setup(dbs[MACK_ENV])
- eval("def using_data_mapper?; true; end")
+ class DmSchemaInfo < DataMapper::Base # :nodoc:
+ set_table_name "schema_info"
+ property :version, :integer, :default => 0
+ end
+ $using_data_mapper = true
+ $using_active_record = false # set to false, in case we're flipping back and forth
else
MACK_DEFAULT_LOGGER.warn("Attempted to configure an unknown ORM: #{app_config.orm}")
end
else
MACK_DEFAULT_LOGGER.warn("No ORM has been configured!")
\ No newline at end of file