Sha256: cb2d931657d46311fe43310b4045db2a6b0e44c356b20f801e0e2186b9d001d6
Contents?: true
Size: 1.54 KB
Versions: 9
Compression:
Stored size: 1.54 KB
Contents
# frozen_string_literal: true require 'active_model/conversion' module Blacklight::Document module ActiveModelShim extend ActiveSupport::Concern include ::ActiveModel::Conversion class_methods do # This is actually an ActiveRecord method starting in Rails 5.2 def polymorphic_name base_class.name end def primary_key unique_key end def base_class self end def repository Blacklight.default_index end def find id repository.find(id).documents.first end # In Rails 7.1+, needs this method def composite_primary_key? false end # In Rails 7.1+, needs this method def has_query_constraints? false end end ## # Unique ID for the document def id self[self.class.unique_key] end def ==(other) super || (other.instance_of?(self.class) && id && other.id == id) end def _read_attribute(attr) self[attr] end ## # ActiveRecord::Persistence method stubs to get non-AR objects to # play nice with e.g. Blacklight's bookmarks def persisted? true end def destroyed? false end def new_record? false end def marked_for_destruction? false end ## # #to_partial_path is also defined in Blacklight::Document, but # ActiveModel::Conversion (included above) will overwrite that.. def to_partial_path 'catalog/document' end end end
Version data entries
9 entries across 9 versions & 2 rubygems