Module: ArchiveStorage::Model

Defined in:
lib/archive_storage/model.rb

Instance Method Summary collapse

Instance Method Details

#archive_storage_for(mounted_as, &block) ⇒ Object

Raises:

  • (ArgumentError)


5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# File 'lib/archive_storage/model.rb', line 5

def archive_storage_for(mounted_as, &block)
  raise ArgumentError, "archive_storage_for requires a block" unless block

  policy = PolicyBuilder.build(&block)
  uploader_class = archive_storage_uploader_for(mounted_as)
  archive_uploader_class = ArchiveStorage.build_mount_uploader!(
    self,
    mounted_as,
    uploader_class
  )

  ArchiveStorage.wire_carrierwave_uploader!(archive_uploader_class)
  ArchiveStorage.register_mount(self, mounted_as, uploader: archive_uploader_class, policy: policy)

  archive_storage_policies[mounted_as.to_sym] = policy
end

#archive_storage_policiesObject



26
27
28
# File 'lib/archive_storage/model.rb', line 26

def archive_storage_policies
  @archive_storage_policies ||= {}
end

#archive_storage_policy_for(mounted_as) ⇒ Object



22
23
24
# File 'lib/archive_storage/model.rb', line 22

def archive_storage_policy_for(mounted_as)
  archive_storage_policies[mounted_as.to_sym]
end