class Tartarus::ArchivableItem
Constants
- OPTIONAL_ATTRIBUTES_NAMES
- REQUIRED_ATTRIBUTES_NAMES
Public Instance Methods
active_job()
click to toggle source
# File lib/tartarus/archivable_item.rb, line 38 def active_job @active_job || false end
archive_items_older_than=(value)
click to toggle source
# File lib/tartarus/archivable_item.rb, line 14 def archive_items_older_than=(value) raise ":archive_items_older_than must be a lambda" if !value.respond_to?(:call) @archive_items_older_than = value end
archive_strategy(factory: Tartarus::ArchiveStrategy.new)
click to toggle source
# File lib/tartarus/archivable_item.rb, line 66 def archive_strategy(factory: Tartarus::ArchiveStrategy.new) factory.for(archive_with, batch_size: batch_size) end
archive_with()
click to toggle source
# File lib/tartarus/archivable_item.rb, line 42 def archive_with return @archive_with if defined?(@archive_with) @archive_with ||= :delete_all end
batch_size()
click to toggle source
# File lib/tartarus/archivable_item.rb, line 48 def batch_size return @batch_size if defined?(@batch_size) @batch_size ||= 10_000 end
cron=(value)
click to toggle source
# File lib/tartarus/archivable_item.rb, line 8 def cron=(value) Fugit.do_parse_cron(value) @cron = value end
name()
click to toggle source
# File lib/tartarus/archivable_item.rb, line 54 def name @name || @model.to_s end
remote_storage()
click to toggle source
# File lib/tartarus/archivable_item.rb, line 70 def remote_storage @remote_storage || Tartarus::RemoteStorage::Null end
scope_by_tenant?()
click to toggle source
# File lib/tartarus/archivable_item.rb, line 62 def scope_by_tenant? !!tenant_id_field end
tenant_value_source()
click to toggle source
# File lib/tartarus/archivable_item.rb, line 32 def tenant_value_source return @tenant_value_source if defined?(@tenant_value_source) @tenant_value_source ||= :id end
tenants_range()
click to toggle source
# File lib/tartarus/archivable_item.rb, line 26 def tenants_range return @tenants_range if defined?(@tenants_range) @tenants_range ||= -> { [] } end
tenants_range=(value)
click to toggle source
# File lib/tartarus/archivable_item.rb, line 20 def tenants_range=(value) raise ":tenants_range must be a lambda" if !value.respond_to?(:call) @tenants_range = value end
validate!()
click to toggle source
# File lib/tartarus/archivable_item.rb, line 58 def validate! validate_presence end
Private Instance Methods
validate_presence()
click to toggle source
# File lib/tartarus/archivable_item.rb, line 76 def validate_presence REQUIRED_ATTRIBUTES_NAMES.each do |attribute| raise ":#{attribute} must be present" if public_send(attribute).nil? end end