Add CollectionProxy#load_from_solr (delegated to association) to return solr results for collection
Merge pull request #385 from dchandekstark/coll-proxy-load-from-solr

Add CollectionProxy#load_from_solr (delegated to association)
Allow non-default ds type configurations in named ds specs
Passes all content setting through the deserialization method.

This centralizes handling of non-utf8 characters and closes #387.
Merge pull request #388 from terrellt/feature/FixLegacyNonUTF8

Passes all content setting through the deserialization method.
Merge pull request #386 from barmintor/named_ds_spec

Allow non-default ds type configurations in named ds specs
fixing misused RuntimeError in AF::Rdf::Resource
Merge pull request #389 from no-reply/master

fixing misused RuntimeError in AF::Rdf::Resource
Fix belongs_to cmodel inheritance.

While has_many was still working as intended, some changes to
belongs_to broke a cmodel inheritance use case. This use case was
not adequately tested corrected and I've updated the appropriate
unit test to check for the below.

Given the following setup:

    class SimpleCollection < ActiveFedora::Base
       has_many :objects, property: :is_part_of, class_name: 'Object'
     end

     class ComplexCollection < SimpleCollection
     end

     class Item < ActiveFedora::Base
       belongs_to :collection, :property=>:is_part_of, \
       :class_name=>''SimpleCollection”
     end

Doing the following should work:

    object = Item.new
    object.collection = ComplexCollection.create
    object.save!

    object.collection #returns the complex collection

In our exact use case, we have “SystemCollection” and
“OAICollection” that inherit from a base “Collection”
class. Before this fix, mapping to “Collection” would
return neither despite that being in their cmodel
structure since the code was updated to only look at an
exact class match.

As no one else is using inheritance that I am aware of,
this change should not impact any other hydra heads.
Making missing AF::Base objects act as Resources

AF::Base/Rdf::Identifiable objects that have been deleted or are
otherwise missing from Fedora are now treated as a generic Rdf::Resource
when encountered in another object's graph.
fixing assignment of rdf_subjects in #attributes=

Subjects for Rdf::Resources created directly with #attributes= (i.e.
not build) were not getting set. This was causing some nodes with
assigned rdf_subjects to be treated as bnodes. Adds tests for assignment
of rdf_subjects.
Merge pull request #390 from no-reply/feature/rdf-missing-params

fixing assignment of rdf_subjects in #attributes=
Merge pull request #391 from boston-library/cmodel_inheritance_fix

Fix belongs_to cmodel inheritance.
Merge pull request #392 from no-reply/feature/rdf-identifiable

Making missing AF::Base objects act as Resources
Removed duplicate properties hash from AF::Rdf

The properties hash duplicated functionality from NodeConfig. This
strips it out.
Merge pull request #394 from no-reply/feature/dedup-properties

Removed duplicate properties hash from AF::Rdf
Adding error for bad nested attribute arguments

Sending a bad argument to Rdf::Resource#attributes= previously failed
silently. This is a problem, since it makes modeling errors invisible to
nested attributes setters, leading to missing data. Other Rails nested
attributes seem to throw an ArgumentError. This PR mimics that behavior
and message.

Closes #393.
Enabled class_name constantization on access

This fixes an issue where, in certian edge cases related to
Rdf::Identifiable, a class_name can be specified and used before the
class is defined.
Merge pull request #395 from no-reply/feature/nested-attribute-argument-errors

Adding error for bad nested attribute arguments
Merge pull request #396 from no-reply/feature/class-constantize

Enabled class_name constantization on access