2016-11-16 02:56:29 +11:00
|
|
|
# frozen_string_literal: true
|
|
|
|
|
2016-08-18 01:56:23 +10:00
|
|
|
class ApplicationRecord < ActiveRecord::Base
|
|
|
|
self.abstract_class = true
|
2019-08-06 03:54:29 +10:00
|
|
|
|
2018-03-26 23:02:10 +11:00
|
|
|
include Remotable
|
2019-08-06 03:54:29 +10:00
|
|
|
|
2023-09-23 00:01:59 +10:00
|
|
|
connects_to database: { writing: :primary, reading: :replica } if DatabaseHelper.replica_enabled?
|
2023-07-17 16:26:52 +10:00
|
|
|
|
2019-10-01 09:19:11 +10:00
|
|
|
class << self
|
|
|
|
def update_index(_type_name, *_args, &_block)
|
|
|
|
super if Chewy.enabled?
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
2019-08-06 03:54:29 +10:00
|
|
|
def boolean_with_default(key, default_value)
|
|
|
|
value = attributes[key]
|
|
|
|
|
|
|
|
if value.nil?
|
|
|
|
default_value
|
|
|
|
else
|
|
|
|
value
|
|
|
|
end
|
|
|
|
end
|
2024-04-29 19:45:58 +10:00
|
|
|
|
|
|
|
# Prevent implicit serialization in ActiveModel::Serializer or other code paths.
|
|
|
|
# This is a hardening step to avoid accidental leaking of attributes.
|
|
|
|
def as_json
|
|
|
|
raise NotImplementedError
|
|
|
|
end
|
2016-08-18 01:56:23 +10:00
|
|
|
end
|