class ActiveFedora::Associations::IDComposite

A composite object for an array of IDs. This abstracts away the fact that an ID might be either a relative ID or a URI to a resource.

Attributes

id_translator[R]
ids[R]

Public Class Methods

new(ids, id_translator) click to toggle source

@param [Array<#to_s>] ids An array of ids or URIs to convert to IDs. @param [#call] id_translator An object to handle the conversion of a URI

to an ID.
# File lib/active_fedora/associations/id_composite.rb, line 11
def initialize(ids, id_translator)
  @ids = ids
  @id_translator = id_translator
end

Public Instance Methods

each() { |convert(id)| ... } click to toggle source

@return [Array<relative_id>]

# File lib/active_fedora/associations/id_composite.rb, line 17
def each
  ids.each do |id|
    yield convert(id)
  end
end

Private Instance Methods

convert(id) click to toggle source
# File lib/active_fedora/associations/id_composite.rb, line 25
def convert(id)
  if id.to_s.start_with?("http")
    id_translator.call(id)
  else
    id
  end
end