Sha256: 47c482ff10ed63ffbe8972ddd34c224319fef2e59af1902aa734bda9a777baae

Contents?: true

Size: 1.49 KB

Versions: 5

Compression:

Stored size: 1.49 KB

Contents

require "active-fedora"
require "cul_image_props"
require "mime/types"
require "uri"
class Resource < ::ActiveFedora::Base
  extend ActiveModel::Callbacks
  include ::ActiveFedora::Finders
  include ::ActiveFedora::DatastreamCollections
  include ::ActiveFedora::Relationships
  include ::Hydra::ModelMethods
  include Cul::Scv::Hydra::ActiveFedora::Model::Common
  include Cul::Scv::Hydra::ActiveFedora::Model::Resource

  alias :file_objects :resources

  def route_as
    "resource"
  end

  def index_type_label
    "FILE RESOURCE"
  end

  def to_solr(solr_doc = Hash.new, opts={})
    super
    unless solr_doc["extent_s"] || self.datastreams["CONTENT"].nil?
      solr_doc["extent_s"] = [self.datastreams["CONTENT"].size]
    end
    solr_doc
  end

  def set_title_and_label(new_title, opts={})
      if opts[:only_if_blank]
        if self.label.nil? || self.label.empty?
          self.label = new_title
          self.set_title( new_title )
        end
      else
        self.label = new_title
        set_title( new_title )
      end
    end

    # Set the title and label on the current object
    #
    # @param [String] new_title
    # @param [Hash] opts (optional) hash of configuration options
    def set_title(new_title, opts={})
      if has_desc? 
        desc_metadata_ds = self.datastreams["descMetadata"]
        if desc_metadata_ds.respond_to?(:title_values)
          desc_metadata_ds.title_values = new_title
        else
          desc_metadata_ds.title = new_title
        end
      end
    end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
cul_scv_hydra-0.6.4 app/models/resource.rb
cul_scv_hydra-0.6.3 app/models/resource.rb
cul_scv_hydra-0.6.2 app/models/resource.rb
cul_scv_hydra-0.6.1 app/models/resource.rb
cul_scv_hydra-0.6.0 app/models/resource.rb