Class: Snaptime::VirtualModels::Snaptime
- Inherits:
-
ActiveRecord::Base
- Object
- ActiveRecord::Base
- Snaptime::VirtualModels::Snaptime
- Defined in:
- lib/snaptime/virtual_models/snaptime.rb
Class Method Summary collapse
Instance Method Summary collapse
Class Method Details
.columns ⇒ Object
8 9 10 11 12 |
# File 'lib/snaptime/virtual_models/snaptime.rb', line 8 def self.columns [ ActiveRecord::ConnectionAdapters::Column.new('valid_from', nil, ActiveRecord::Base.connection.send(:lookup_cast_type, :timestamp)) ] end |
.columns_hash ⇒ Object
14 15 16 |
# File 'lib/snaptime/virtual_models/snaptime.rb', line 14 def self.columns_hash Hash[columns.map { |c| [c.name, c] }] end |
.load_schema ⇒ Object
4 5 6 |
# File 'lib/snaptime/virtual_models/snaptime.rb', line 4 def self.load_schema columns_hash end |
Instance Method Details
#model_names ⇒ Object
43 44 45 |
# File 'lib/snaptime/virtual_models/snaptime.rb', line 43 def model_names read_attribute(:model_names).split(',') end |
#models ⇒ Object
47 48 49 |
# File 'lib/snaptime/virtual_models/snaptime.rb', line 47 def models model_names.collect(&:constantize) end |
#record_lookups ⇒ Object
20 21 22 |
# File 'lib/snaptime/virtual_models/snaptime.rb', line 20 def record_lookups read_attribute(:record_lookups).split(';') end |
#records ⇒ Object
24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
# File 'lib/snaptime/virtual_models/snaptime.rb', line 24 def records to_fetch = {} record_lookups.collect do |identifier| klass_name, id = identifier.split(',') to_fetch[klass_name] ||= Set.new to_fetch[klass_name] << id end records = [] to_fetch.each do |klass_name, ids| records += klass_name.constantize.unscoped.find(ids.to_a) end return records end |