Sha256: 70acdf20bde8f76a600287b2a7c7b6a4ca6c067fa0733f0e0b1b2c2580103621

Contents?: true

Size: 570 Bytes

Versions: 10

Compression:

Stored size: 570 Bytes

Contents

module ActiveFedora::Associations
  class DeleteProxy
    def self.call(proxy_ids:, proxy_class:)
      new(proxy_ids: proxy_ids, proxy_class: proxy_class).run
    end
    attr_reader :proxy_ids, :proxy_class

    def initialize(proxy_ids:, proxy_class:)
      @proxy_ids = proxy_ids
      @proxy_class = proxy_class
    end

    def run
      proxies.each(&:delete)
    end

    private

    def proxies
      @proxies ||= proxy_ids.map{ |uri| uri_to_proxy(uri) }
    end

    def uri_to_proxy(uri)
      proxy_class.find(proxy_class.uri_to_id(uri))
    end

  end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
active-fedora-9.5.0 lib/active_fedora/associations/delete_proxy.rb
active-fedora-9.4.3 lib/active_fedora/associations/delete_proxy.rb
active-fedora-9.4.2 lib/active_fedora/associations/delete_proxy.rb
active-fedora-9.4.1 lib/active_fedora/associations/delete_proxy.rb
active-fedora-9.4.0 lib/active_fedora/associations/delete_proxy.rb
active-fedora-9.3.0 lib/active_fedora/associations/delete_proxy.rb
active-fedora-9.2.1 lib/active_fedora/associations/delete_proxy.rb
active-fedora-9.2.0 lib/active_fedora/associations/delete_proxy.rb
active-fedora-9.2.0.rc2 lib/active_fedora/associations/delete_proxy.rb
active-fedora-9.2.0.rc1 lib/active_fedora/associations/delete_proxy.rb