Sha256: c419c5456db208db0382ee9fb6fe7994f40b4b4db2f1740eb3fb8fa760a408d4

Contents?: true

Size: 1.29 KB

Versions: 80

Compression:

Stored size: 1.29 KB

Contents

module Cul
  module Hydra
    module Fedora
      autoload :DummyObject, 'cul_hydra/fedora/dummy_object'
      autoload :RubydoraPatch, 'cul_hydra/fedora/rubydora_patch'
      autoload :UrlHelperBehavior, 'cul_hydra/fedora/url_helper_behavior'
      module ClassMethods
        def config_path
          File.join(Rails.root.to_s, 'config', 'fedora.yml')
        end
        def config
          ActiveFedora.fedora_config.credentials
        end
        def connection
          @connection ||= ActiveFedora::RubydoraConnection.new(ActiveFedora.fedora_config.credentials)
        end

        def repository
          @repository ||= begin
            repo = connection.connection
            repo.extend(RubydoraPatch)
            repo
          end
        end

        def ds_for_uri(fedora_uri, fake_obj=nil)
          return nil unless fedora_uri =~ /info\:fedora\/.*/
          p = fedora_uri.split('/')
          return ds_for_opts({pid: p[1], dsid: p[2]})
        end

        def ds_for_opts(opts={}, fake_obj=nil)
          return nil unless opts[:pid] and opts[:dsid]
          fake_obj = fake_obj.nil? ? DummyObject.new(opts[:pid]) : fake_obj.spawn(opts[:pid])
          return (opts[:class] || ::Rubydora::Datastream).new(fake_obj, opts[:dsid])
        end
      end
      extend ClassMethods
    end
  end
end

Version data entries

80 entries across 80 versions & 2 rubygems

Version Path
cul_hydra-1.11.2 lib/cul_hydra/fedora.rb
cul_hydra-1.11.1 lib/cul_hydra/fedora.rb
cul_hydra-1.11.0 lib/cul_hydra/fedora.rb
cul_hydra-1.10.0 lib/cul_hydra/fedora.rb
cul_hydra-1.9.6 lib/cul_hydra/fedora.rb
cul_hydra-1.9.5 lib/cul_hydra/fedora.rb
cul_hydra-1.9.4 lib/cul_hydra/fedora.rb
cul_hydra-1.9.3 lib/cul_hydra/fedora.rb
cul_hydra-1.9.2 lib/cul_hydra/fedora.rb
cul_hydra-1.9.1 lib/cul_hydra/fedora.rb
cul_hydra-1.9.0 lib/cul_hydra/fedora.rb
cul_hydra-1.8.0 lib/cul_hydra/fedora.rb
cul_hydra-1.7.6 lib/cul_hydra/fedora.rb
cul_hydra-1.7.5 lib/cul_hydra/fedora.rb
cul_hydra-1.7.4 lib/cul_hydra/fedora.rb
cul_hydra-1.7.3 lib/cul_hydra/fedora.rb
cul_hydra-1.7.2 lib/cul_hydra/fedora.rb
cul_hydra-1.7.1 lib/cul_hydra/fedora.rb
cul_hydra-1.7.0 lib/cul_hydra/fedora.rb
cul_hydra-1.6.4 lib/cul_hydra/fedora.rb