Module: ActiveFedora::Datastreams::ClassMethods
- Defined in:
- lib/active_fedora/datastreams.rb
Instance Method Summary collapse
- #has_file_datastream(*args) ⇒ Object
-
#has_metadata(*args) { ... } ⇒ Object
This method is used to specify the details of a datastream.
Instance Method Details
#has_file_datastream(name, args) ⇒ Object #has_file_datastream(args) ⇒ Object
243 244 245 246 247 248 249 250 251 252 253 254 255 |
# File 'lib/active_fedora/datastreams.rb', line 243 def has_file_datastream(*args) if args.first.is_a? String name = args.first args = args[1] || {} args[:name] = name else args = args.first || {} end spec = {:autocreate => args.fetch(:autocreate, false), :type => args.fetch(:type,ActiveFedora::Datastream), :label => args.fetch(:label,"File Datastream"), :control_group => args.fetch(:control_group,"M")} spec[:versionable] = args[:versionable] if args.has_key? :versionable ds_specs[args.fetch(:name, "content")]= spec end |
#has_metadata(*args) { ... } ⇒ Object
This method is used to specify the details of a datastream. You can pass the name as the first argument and a hash of options as the second argument or you can pass the :name as a value in the args hash. Either way, name is required. Note that this method doesn’t actually execute the block, but stores it , to be executed by any the implementation of the datastream(specified as :type)
208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 |
# File 'lib/active_fedora/datastreams.rb', line 208 def (*args, &block) if args.first.is_a? String name = args.first args = args[1] || {} args[:name] = name else args = args.first end spec = {:autocreate => args.fetch(:autocreate, false), :type => args[:type], :label => args.fetch(:label,""), :control_group => args[:control_group], :disseminator => args.fetch(:disseminator,""), :url => args.fetch(:url,""),:block => block} spec[:versionable] = args[:versionable] if args.has_key? :versionable ds_specs[args[:name]]= spec end |