Sha256: a3361f4e82014f4772b4605405be111ad0fe09dbf6c8701dde395011ac795a79

Contents?: true

Size: 1.01 KB

Versions: 22

Compression:

Stored size: 1.01 KB

Contents

module Ddr
  module Models
    module Licensable
      extend ActiveSupport::Concern

      included do
        has_attributes :license_title, datastream: Ddr::Datastreams::RIGHTS_METADATA, at: [:license, :title], multiple: false
        has_attributes :license_description, datastream: Ddr::Datastreams::RIGHTS_METADATA, at: [:license, :description], multiple: false
        has_attributes :license_url, datastream: Ddr::Datastreams::RIGHTS_METADATA, at: [:license, :url], multiple: false
      end

      def license
        if license_title.present? or license_description.present? or license_url.present?
          {title: license_title, description: license_description, url: license_url}.with_indifferent_access
        end
      end

      def license=(new_license)
        raise ArgumentError unless new_license.is_a?(Hash)
        l = new_license.with_indifferent_access
        self.license_title = l[:title]
        self.license_description = l[:description]
        self.license_url = l[:url]
      end

    end
  end
end

Version data entries

22 entries across 22 versions & 1 rubygems

Version Path
ddr-models-2.0.1 lib/ddr/models/licensable.rb
ddr-models-2.0.0 lib/ddr/models/licensable.rb
ddr-models-2.0.0.rc6 lib/ddr/models/licensable.rb
ddr-models-2.0.0.rc5 lib/ddr/models/licensable.rb
ddr-models-2.0.0.rc4 lib/ddr/models/licensable.rb
ddr-models-2.0.0.rc3 lib/ddr/models/licensable.rb
ddr-models-2.0.0.rc2 lib/ddr/models/licensable.rb
ddr-models-1.17.1 lib/ddr/models/licensable.rb
ddr-models-2.0.0.rc1 lib/ddr/models/licensable.rb
ddr-models-2.0.0.pre.5 lib/ddr/models/licensable.rb
ddr-models-1.17.0 lib/ddr/models/licensable.rb
ddr-models-2.0.0.pre.4 lib/ddr/models/licensable.rb
ddr-models-2.0.0.pre.3 lib/ddr/models/licensable.rb
ddr-models-1.16.2 lib/ddr/models/licensable.rb
ddr-models-2.0.0.pre.2 lib/ddr/models/licensable.rb
ddr-models-2.0.0.pre.1 lib/ddr/models/licensable.rb
ddr-models-1.16.1 lib/ddr/models/licensable.rb
ddr-models-1.16.0 lib/ddr/models/licensable.rb
ddr-models-1.15.0 lib/ddr/models/licensable.rb
ddr-models-1.14.2 lib/ddr/models/licensable.rb