Sha256: b42f85a1f05406478c46bbdeedfef52b8c6fa09338b62b5de6ad8fe942e0cb33

Contents?: true

Size: 857 Bytes

Versions: 3

Compression:

Stored size: 857 Bytes

Contents

module ActiveFedora
  module Noid
    class Config
      attr_writer :template, :translate_uri_to_id, :translate_id_to_uri, :statefile, :namespace

      def template
        @template ||= '.reeddeeddk'
      end

      def statefile
        @statefile ||= '/tmp/minter-state'
      end

      def namespace
        @namespace ||= 'default'
      end

      def translate_uri_to_id
        lambda do |uri|
          uri.to_s.sub(baseurl, '').split('/', baseparts).last
        end
      end

      def translate_id_to_uri
        lambda do |id|
          "#{baseurl}/#{ActiveFedora::Noid.treeify(id)}"
        end
      end

      private

      def baseurl
        "#{ActiveFedora.fedora.host}#{ActiveFedora.fedora.base_path}"
      end

      def baseparts
        2 + [(template.gsub(/\.[rsz]/,'').length.to_f/2).ceil, 4].min
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
active_fedora-noid-2.0.0.beta3 lib/active_fedora/noid/config.rb
active_fedora-noid-2.0.0.beta2 lib/active_fedora/noid/config.rb
active_fedora-noid-2.0.0.beta1 lib/active_fedora/noid/config.rb