Class: CodeKindly::Utils::ActiveRecord
- Inherits:
-
Object
- Object
- CodeKindly::Utils::ActiveRecord
- Defined in:
- lib/code_kindly/utils/active_record.rb
Class Method Summary collapse
- .active_record_classes_by_connection ⇒ Object
- .clear_scope(scope) ⇒ Object
- .config(name = nil) ⇒ Object
- .configurations ⇒ Object
- .default_connection_class(connection = nil) ⇒ Object
Class Method Details
.active_record_classes_by_connection ⇒ Object
5 6 7 8 9 10 11 12 13 14 15 16 |
# File 'lib/code_kindly/utils/active_record.rb', line 5 def active_record_classes_by_connection @active_record_classes_by_connection ||= begin sets = {}.with_indifferent_access find_active_record_classes.each do |klass| config_name = configurations.keys.select { |k| configurations[k]["database"] == klass.connection.current_database }.first config_name ||= ::Rails.env sets[config_name] ||= [] sets[config_name] << klass end sets end end |
.clear_scope(scope) ⇒ Object
18 19 20 21 22 23 24 25 |
# File 'lib/code_kindly/utils/active_record.rb', line 18 def clear_scope (scope) if 0 == scope.count puts "Nothing to clear" else puts "Clearing #{scope.count} #{scope.name} records" scope.delete_all end end |
.config(name = nil) ⇒ Object
32 33 34 35 36 |
# File 'lib/code_kindly/utils/active_record.rb', line 32 def config(name = nil) return unless active_record_available? name ||= ::Rails.env configurations[name] end |
.configurations ⇒ Object
27 28 29 30 |
# File 'lib/code_kindly/utils/active_record.rb', line 27 def configurations return unless active_record_available? @configurations ||= YAML.load_file(::Rails.root.join(*%w[config database.yml])) end |
.default_connection_class(connection = nil) ⇒ Object
38 39 40 41 42 43 44 |
# File 'lib/code_kindly/utils/active_record.rb', line 38 def default_connection_class (connection = nil) return unless active_record_available? connection ||= ::Rails.env @default_connection_class ||= {}.with_indifferent_access @default_connection_class[connection] ||= active_record_classes_by_connection.fetch(connection, []).first @default_connection_class[connection] ||= active_record_classes_by_connection.fetch(active_record_classes_by_connection.keys).first end |