ddr-models
A Rails engine providing Hydra and ActiveRecord models and common services for the Duke Digital Repository.
Installation
Add to your application's Gemfile:
gem 'ddr-models'
and
bundle install
Configuration
ddr-models has several runtime dependencies that are independently configurable:
ddr-models configuration options:
- Authentication/Authorization options are set on Ddr::Auth.
Additional configuration steps
User model
Include Ddr::Auth::User
in app/models/user.rb
and remove content inserted by Hydra, Blacklight and Devise generators:
class User
include Ddr::Auth::User
#
# Remove content inserted by Hydra, Blacklight, or Devise generators --
# it's provided by Ddr::Auth::User.
#
# include Blacklight::User
# include Hydra::User
# devise :database_authenticatable [...]
#
# ... as well as any methods.
#
# You can add custom methods for the app as needed.
#
end
Ability class
The hydra-head generator may have created a class module at app/models/ability.rb
like so:
class Ability
include Hydra::Ability
end
Change the class like so:
class Ability < Ddr::Auth::Ability
#
# Ddr::Auth::Ability includes Hydra::PolicyAwareAbility
# include Hydra::Ability
#
# Add custom methods here as needed to Ability.ability_logic:
#
# self.ability_logic += [:my_ability]
#
# def my_ability
# # whatever
# end
#
end
SolrDocument model
Include Ddr::Models::SolrDocument
in app/models/solr_document.rb
class SolrDocument
include Blacklight::Solr::Document
include Ddr::Models::SolrDocument
...
end
Migrations
Install the ddr-models migrations:
rake ddr_models:install:migrations
then
rake db:migrate db:test:prepare