Sha256: 9abd915f49f242957d9b67f27182d465c66fdb60d4ed9168f1ddf2b0c2e0fe42
Contents?: true
Size: 1.89 KB
Versions: 1
Compression:
Stored size: 1.89 KB
Contents
class Asset < Kithe::Asset belongs_to :parent, class_name: "Document", optional: true include AttrJson::Record::QueryScopes include Rails.application.routes.url_helpers # Default Sort Order default_scope { order(parent_id: :desc, created_at: :asc) } set_shrine_uploader(AssetUploader) # AttrJSON attr_json :thumbnail, :boolean, default: "false" attr_json :derivative_storage_type, :string, default: "public" attr_json :dct_references_uri_key, :string attr_json :label, :string DERIVATIVE_STORAGE_TYPE_LOCATIONS = { "public" => :kithe_derivatives }.freeze scope :to_aardvark_references, -> { where(parent_id: pluck(:parent_id)).map(&:to_aardvark_reference) } def full_file_url if Rails.env.development? "http://localhost:3000" + file.url else file.url end end # After Promotion Callbacks after_promotion :set_parent_dct_references_uri def set_parent_dct_references_uri GeoblacklightAdmin::SetParentDctReferencesUriJob.perform_later(self) if parent_id.present? end # Before Destroy Callbacks before_destroy :remove_parent_dct_references_uri def remove_parent_dct_references_uri GeoblacklightAdmin::RemoveParentDctReferencesUriJob.perform_later(self) if parent_id.present? end # After Save Callbacks after_save :reindex_parent def reindex_parent parent.save if parent.present? end def to_aardvark_reference hash = {} if dct_references_uri_key.present? reference_type = ReferenceType.find_by_name(dct_references_uri_key) hash[reference_type.reference_uri.to_s] = if reference_type.reference_uri.to_s == "http://schema.org/downloadUrl" { "url" => full_file_url, "label" => label.present? ? label : file.metadata["filename"] } else full_file_url end end hash end end # Allow DocumentAsset to be used as a synonym for Asset DocumentAsset = Asset
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
geoblacklight_admin-0.6.0 | app/models/asset.rb |