lib/datasets/metadata.rb in red-datasets-0.1.4 vs lib/datasets/metadata.rb in red-datasets-0.1.5
- old
+ new
@@ -1,10 +1,24 @@
+require_relative "license"
+
module Datasets
class Metadata < Struct.new(:id,
:name,
:url,
:licenses,
:description)
+ def licenses=(licenses)
+ licenses = [licenses] unless licenses.is_a?(Array)
+ licenses = licenses.collect do |license|
+ l = License.try_convert(license)
+ if l.nil?
+ raise ArgumentError.new("invalid license: #{license.inspect}")
+ end
+ l
+ end
+ super(licenses)
+ end
+
def description
description_raw = super
if description_raw.respond_to?(:call)
self.description = description_raw = description_raw.call
end