Sha256: 103e3fd172a0ebdf7a87c75e4c810dc14c0c124859e058202b51c6652cdeb4cb

Contents?: true

Size: 579 Bytes

Versions: 26

Compression:

Stored size: 579 Bytes

Contents

module EnjuOai
  module ActsAsMethods
    def self.included(base)
      base.extend ClassMethods
    end

    module ClassMethods
      def enju_oai
        include InstanceMethods
      end

      def find_by_oai_identifier(identifier)
        self.find(identifier.to_s.split(":").last.split("-").last)
      end
    end
  
    module InstanceMethods
      def oai_identifier
        "oai:#{::Addressable::URI.parse(LibraryGroup.site_config.url).host}:#{self.class.to_s.tableize}-#{self.id}"
      end
    end
  end
end

ActiveRecord::Base.send :include, EnjuOai::ActsAsMethods

Version data entries

26 entries across 26 versions & 1 rubygems

Version Path
enju_oai-0.1.1 lib/enju_oai/oai_model.rb
enju_oai-0.1.0 lib/enju_oai/oai_model.rb
enju_oai-0.1.0.pre20 lib/enju_oai/oai_model.rb
enju_oai-0.1.0.pre19 lib/enju_oai/oai_model.rb
enju_oai-0.1.0.pre18 lib/enju_oai/oai_model.rb
enju_oai-0.1.0.pre17 lib/enju_oai/oai_model.rb
enju_oai-0.1.0.pre16 lib/enju_oai/oai_model.rb
enju_oai-0.1.0.pre15 lib/enju_oai/oai_model.rb
enju_oai-0.1.0.pre14 lib/enju_oai/oai_model.rb
enju_oai-0.1.0.pre13 lib/enju_oai/oai_model.rb
enju_oai-0.1.0.pre12 lib/enju_oai/oai_model.rb
enju_oai-0.1.0.pre11 lib/enju_oai/oai_model.rb
enju_oai-0.1.0.pre10 lib/enju_oai/oai_model.rb
enju_oai-0.1.0.pre9 lib/enju_oai/oai_model.rb
enju_oai-0.1.0.pre8 lib/enju_oai/oai_model.rb
enju_oai-0.1.0.pre7 lib/enju_oai/oai_model.rb
enju_oai-0.1.0.pre6 lib/enju_oai/oai_model.rb
enju_oai-0.1.0.pre5 lib/enju_oai/oai_model.rb
enju_oai-0.1.0.pre4 lib/enju_oai/oai_model.rb
enju_oai-0.1.0.pre3 lib/enju_oai/oai_model.rb