module SchemaComments
Constants
- VERSION
Public Class Methods
setup()
click to toggle source
# File lib/schema_comments.rb, line 22 def setup defined?(Rails) && Rails.env.production? ? setup_on_production : setup_on_development end
setup_on_development()
click to toggle source
# File lib/schema_comments.rb, line 26 def setup_on_development base_names = %w(Schema) + %w(ColumnDefinition TableDefinition).map{|name| "ConnectionAdapters::#{name}"} base_names.each do |base_name| ar_class = "ActiveRecord::#{base_name}".constantize sc_class = "SchemaComments::#{base_name}".constantize unless ar_class.ancestors.include?(sc_class) ar_class.__send__(:prepend, sc_class) end end unless ActiveRecord::ConnectionAdapters::AbstractAdapter.ancestors.include?(SchemaComments::ConnectionAdapters::Adapter) ActiveRecord::ConnectionAdapters::AbstractAdapter.module_eval do prepend SchemaComments::ConnectionAdapters::Adapter end end # %w(Mysql PostgreSQL SQLite3 SQLite Firebird DB2 Oracle Sybase Openbase Frontbase) %w(Mysql Mysql2 PostgreSQL SQLite3 SQLite).each do |adapter| begin require("active_record/connection_adapters/#{adapter.downcase}_adapter") adapter_class = ('ActiveRecord::ConnectionAdapters::' << "#{adapter}Adapter").constantize adapter_class.module_eval do prepend SchemaComments::ConnectionAdapters::ConcreteAdapter end rescue Exception => e end end end
setup_on_production()
click to toggle source
# File lib/schema_comments.rb, line 57 def setup_on_production ActiveRecord::Migration.__send__(:prepend, DummyMigration) end