Module: ActiveFedora::AttachedFiles::ClassMethods
- Extended by:
- Deprecation
- Defined in:
- lib/active_fedora/attached_files.rb
Instance Method Summary collapse
- #ds_specs ⇒ Object
- #has_file_datastream(*args) ⇒ Object
-
#has_metadata(*args) { ... } ⇒ Object
This method is used to specify the details of a datastream.
Instance Method Details
#ds_specs ⇒ Object
162 163 164 |
# File 'lib/active_fedora/attached_files.rb', line 162 def ds_specs child_resource_reflections end |
#has_file_datastream(name, args) ⇒ Object #has_file_datastream(args) ⇒ Object
206 207 208 209 210 211 212 213 214 215 216 217 |
# File 'lib/active_fedora/attached_files.rb', line 206 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 name = args.delete(:name) args[:class_name] = args.delete(:type).to_s contains(name, args) 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)
179 180 181 182 183 184 185 186 187 188 189 190 191 |
# File 'lib/active_fedora/attached_files.rb', line 179 def (*args, &block) if args.first.is_a? String name = args.first args = args[1] || {} args[:name] = name else args = args.first || {} end name = args.delete(:name) raise ArgumentError, "You must provide a :type property for the datastream '#{name}'" unless args[:type] args[:class_name] = args.delete(:type).to_s contains(name, args, &block) end |