A mixin to allow use of dynamic finder methods (a la Rails) with ActiveFedora. These methods operate against the FCRepo Object Search. Allowed fields are the 15 DCES metadata fields, and the FCRepo object properties, ie:

SINGLE_VALUE_FIELDS = [:pid, :cDate, :mDate, :label] SYSTEM_FIELDS = SINGLE_VALUE_FIELDS.concat [:ownerId] DC_FIELDS = [:contributor, :coverage, :creator, :date, :description, :format, :identifier, :language, :publisher, :relation, :rights, :source, :subject, :title, :type ] SUPPORTED_ALTS = [:cdate, :create_date, :mdate, :modified_date, :owner_id]


class MyModel < ActiveFedora::Base include ActiveFedora::RepositoryQuerying end

obj = MyModel.search_repo(pid: “fedora-system:ContentModel-3.0”).first!



0.1: dynamic finders, bang support 0.2 rubydora 1.x 0.3: Rubydora 1.0…2.0 0.4: AF 6.7+ 0.5: Rails 4 and Hydra 7 0.6: support or_create|initialize 0.7: support _all and _last 0.8: support scopes