Module: ArchiveHook

Defined in:
lib/archive_hook.rb,
lib/archive_hook/version.rb

Defined Under Namespace

Classes: ScopeArchiver, ScopeRestorer

Constant Summary collapse

VERSION =
"0.1.0"

Class Method Summary collapse

Class Method Details

.archive(root, archive_date, dependencies) ⇒ Object



102
103
104
105
106
# File 'lib/archive_hook.rb', line 102

def archive(root, archive_date, dependencies)
  column = dependencies[root] && dependencies[root][:column] || :created_at
  base_scope = root.where("#{column} < ?", archive_date)
  ScopeArchiver.new(dependencies: dependencies).call(base_scope)
end

.archive_scope(scope, dependencies = {}) ⇒ Object



108
109
110
# File 'lib/archive_hook.rb', line 108

def archive_scope(scope, dependencies = {})
  ScopeArchiver.new(dependencies: dependencies).call(scope)
end

.restore_scope(scope, dependencies = {}) ⇒ Object



112
113
114
# File 'lib/archive_hook.rb', line 112

def restore_scope(scope, dependencies = {})
  ScopeRestorer.new(dependencies: dependencies).call(scope)
end