Module: BridgeCache::Data::BridgeModel

Class Method Summary collapse

Instance Method Summary collapse

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_nameObject



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

Returns:

  • (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(message)
  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(message)
  create_or_update_from_webhook(message)
end

#webhook_deleted(message) ⇒ Object



41
42
43
# File 'app/lib/bridge_cache/data/bridge_model.rb', line 41

def webhook_deleted(message)
  message.payload_class.where(bridge_id: message.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(message)
  create_or_update_from_webhook(message)
end