Module: ActiveRecord::Comments
- Defined in:
- lib/active_record/comments/version.rb,
lib/active_record/comments.rb,
lib/active_record/comments.rb
Defined Under Namespace
Modules: ConnectionAdapters
Constant Summary collapse
- VERSION =
'0.0.4'
Class Method Summary collapse
Class Method Details
.setup ⇒ Object
18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
# File 'lib/active_record/comments.rb', line 18 def self.setup _cls = ->(l) { l.join('::').constantize } ar_names = %w(ActiveRecord ConnectionAdapters AbstractAdapter) ar_class = _cls.(ar_names) arc_class = _cls.([self.name, *ar_names[1..-1]]) ar_class.send :include, arc_class unless ar_class.ancestors.include? arc_class adapters = %w(PostgreSQL Mysql Mysql2) adapters << (::ActiveRecord::VERSION::MAJOR <= 3 ? 'SQLite' : 'SQLite3') adapters.each do |adapter| begin require "active_record/connection_adapters/#{adapter.downcase}_adapter" rescue LoadError => err; next; end to_inject = "#{adapter}Adapter" ar_class = _cls.([*ar_names[0..-2], to_inject]) arc_class = _cls.([self.name, *ar_names[1..-2], to_inject]) ar_class.module_eval do ar_class.send :include, arc_class unless ar_class.ancestors.include?(arc_class) end end end |