Class: FileVersion
- Inherits:
-
Sequel::Model
- Object
- Sequel::Model
- FileVersion
- Includes:
- ASModel, Publishable, Representative
- Defined in:
- backend/app/model/file_version.rb
Constant Summary
Constants included from JSONModel
JSONModel::REFERENCE_KEY_REGEX
Class Method Summary collapse
Instance Method Summary collapse
Methods included from Representative
#before_validation, #representative_id_for_type
Methods included from Publishable
Methods included from ASModel
all_models, included, update_publish_flag, update_suppressed_flag
Methods included from JSONModel
JSONModel, #JSONModel, add_error_handler, all, allow_unmapped_enum_value, backend_url, check_valid_refs, client_mode?, custom_validations, destroy_model, enum_default_value, enum_values, handle_error, init, load_schema, #models, models, parse_jsonmodel_ref, parse_reference, repository, repository_for, schema_src, set_publish_flags!, set_repository, strict_mode, strict_mode?, validate_schema, with_repository
Class Method Details
.handle_publish_flag(ids, val) ⇒ Object
14 15 16 |
# File 'backend/app/model/file_version.rb', line 14 def self.handle_publish_flag(ids, val) ASModel.update_publish_flag(self.filter(:id => ids), val) end |
.sequel_to_jsonmodel(objs, opts = {}) ⇒ Object
20 21 22 23 24 25 26 27 28 |
# File 'backend/app/model/file_version.rb', line 20 def self.sequel_to_jsonmodel(objs, opts = {}) jsons = super jsons.zip(objs).each do |json, obj| json["identifier"] = obj[:id].to_s end jsons end |
Instance Method Details
#representative_for_types ⇒ Object
10 11 12 |
# File 'backend/app/model/file_version.rb', line 10 def representative_for_types { is_representative: [:digital_object] } end |
#validate ⇒ Object
30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
# File 'backend/app/model/file_version.rb', line 30 def validate is_published = false if self[:publish] == true || self[:publish] == 1 is_published = true end is_representative = false if self[:is_representative] == true || self[:is_representative] == 1 is_representative = true end if !is_published && is_representative raise Sequel::ValidationFailed.new("File version must be published to be representative.") end super end |