class RDF::Lamprey::Config
@example Configuring Lamprey
server
Lamprey::Config .register_repository!(:my_repo, RDF::Repository) Lamprey::Config.configure!(repository: :my_repo)
Attributes
options[RW]
@!attribute [rw] options
Public Class Methods
configure!(**options)
click to toggle source
@see new @see configure!
# File app/lamprey.rb, line 67 def self.configure!(**options) new(**options).configure! end
new(repository: :default)
click to toggle source
@param repository [RDF::Repository]
# File app/lamprey.rb, line 94 def initialize(repository: :default) @options = {} @options[:repository] = repository end
register_repository!(name, klass)
click to toggle source
Registers a repository for use with the {#build_repository} method.
@example Registering a custom repository
MyRepository = Class.new(RDF::Repository) Lamprey::Config.register_repository!(:my_repo, MyRepository)
@param name [Symbol] @param klass [Class] @return [void]
# File app/lamprey.rb, line 82 def self.register_repository!(name, klass) @@repositories[name] = klass end
Public Instance Methods
build_repository()
click to toggle source
Builds the repository as given in the configuration.
@return [RDF::Repository] a repository instance
# File app/lamprey.rb, line 103 def build_repository @@repositories.fetch(options[:repository]) do warn "#{options[:repository]} is not a configured repository. Use "\ '`Lamprey::Config.register_repository!` to register it before '\ 'configuration. Falling back on the default: ' \ "#{@@repositories[:default]}." @@repositories[:default] end.new end
configure!()
click to toggle source
Configures {RDF::Lamprey} with {#options}.
@return [void]
# File app/lamprey.rb, line 117 def configure! repository = build_repository unless repository.persistent? warn "#{repository} is not a persistent repository. "\ 'Data will be lost on server shutdown.' end RDF::Lamprey.configure { |config| config.set :repository, repository } end