class Shorter::ActiveRecord::TablesAndModels
Attributes
loaded[R]
tables_and_models[R]
Public Class Methods
new()
click to toggle source
# File lib/shorter/active_record/tables_and_models.rb, line 10 def initialize load! end
Public Instance Methods
load!()
click to toggle source
# File lib/shorter/active_record/tables_and_models.rb, line 14 def load! models = ::ActiveRecord::Base.send(:subclasses) @tables_and_models = {}.tap do |tables_and_models| models.each { |model| tables_and_models[model.table_name] = model } end end
model(table_name)
click to toggle source
# File lib/shorter/active_record/tables_and_models.rb, line 29 def model(table_name) loaded || reload! tables_and_models[table_name.to_s.pluralize] end
reload!()
click to toggle source
# File lib/shorter/active_record/tables_and_models.rb, line 22 def reload! unless tables_and_models.values.size == ::ActiveRecord::Base.send(:subclasses).size @loaded = true load! end end