Module: BridgeCache::Data::BridgeModel
- Included in:
- AffiliatedSubAccount, CourseTemplate, CustomField, BridgeCache::Domain, Enrollment, Grant, Group, GroupEnrollment, LearnerCustomFieldValue, LiveCourse, LiveCourseEnrollment, LiveCourseSession, LiveCourseSessionRegistration, Membership, Program, ProgramEnrollment, ProgramGroupEnrollment, ProgramItem, Tag, Tagging, User
- Defined in:
- app/lib/bridge_cache/data/bridge_model.rb
Class Method Summary collapse
Instance Method Summary collapse
- #adjusted_table_name ⇒ Object
- #cleanup(row_ids) ⇒ Object
- #create_from_csv_row(row) ⇒ Object
- #for_domain(domain_id) ⇒ Object
- #import_from_csv(file_path) ⇒ Object
- #is_active? ⇒ Boolean
- #webhook_completed(message) ⇒ Object
- #webhook_created(message) ⇒ Object
- #webhook_deleted(message) ⇒ Object
- #webhook_updated(message) ⇒ Object
Class Method Details
.extended(base) ⇒ Object
12 13 14 15 16 17 18 |
# File 'app/lib/bridge_cache/data/bridge_model.rb', line 12 def self.extended(base) base.class_eval do scope :in_domain, -> (domain_id) {for_domain(domain_id)} scope :active, -> {is_active?} self.table_name = self.adjusted_table_name end end |
Instance Method Details
#adjusted_table_name ⇒ Object
4 5 6 7 8 9 10 |
# File 'app/lib/bridge_cache/data/bridge_model.rb', line 4 def adjusted_table_name if BridgeCache.use_internal_database table_name else self.to_s.demodulize.underscore.pluralize end end |
#cleanup(row_ids) ⇒ Object
28 29 30 31 |
# File 'app/lib/bridge_cache/data/bridge_model.rb', line 28 def cleanup(row_ids) # Implement this method in your model if you want to do any sort of post creation cleanup. # See tagging.rb for an example. end |
#create_from_csv_row(row) ⇒ Object
24 25 26 |
# File 'app/lib/bridge_cache/data/bridge_model.rb', line 24 def create_from_csv_row(row) BridgeCache::Plugins::CSVDump::dump_row(self, row) end |
#for_domain(domain_id) ⇒ Object
49 50 51 |
# File 'app/lib/bridge_cache/data/bridge_model.rb', line 49 def for_domain(domain_id) where(domain_id: domain_id) end |
#import_from_csv(file_path) ⇒ Object
20 21 22 |
# File 'app/lib/bridge_cache/data/bridge_model.rb', line 20 def import_from_csv(file_path) BridgeCache::Plugins::CSVDump::dump_to_table(self, file_path) end |
#is_active? ⇒ Boolean
53 54 55 56 57 |
# File 'app/lib/bridge_cache/data/bridge_model.rb', line 53 def is_active? if self.column_names.include? 'deleted_at' where(deleted_at: nil) end end |
#webhook_completed(message) ⇒ Object
45 46 47 |
# File 'app/lib/bridge_cache/data/bridge_model.rb', line 45 def webhook_completed() raise "Method not implemented" end |
#webhook_created(message) ⇒ Object
37 38 39 |
# File 'app/lib/bridge_cache/data/bridge_model.rb', line 37 def webhook_created() create_or_update_from_webhook() end |
#webhook_deleted(message) ⇒ Object
41 42 43 |
# File 'app/lib/bridge_cache/data/bridge_model.rb', line 41 def webhook_deleted() .payload_class.where(bridge_id: .resource_object['id']).destroy_all end |
#webhook_updated(message) ⇒ Object
33 34 35 |
# File 'app/lib/bridge_cache/data/bridge_model.rb', line 33 def webhook_updated() create_or_update_from_webhook() end |