diff --git a/lib/diaspora_federation.rb b/lib/diaspora_federation.rb index 572189e..710ec1f 100644 --- a/lib/diaspora_federation.rb +++ b/lib/diaspora_federation.rb @@ -34,12 +34,12 @@ module DiasporaFederation # end def configure yield self - validate_config - logger.info "successfully configured the federation engine" end - private - + ## + # validates if the engine is configured correctly + # + # called from after_initialize def validate_config raise ConfigurationError, "missing server_uri" unless @server_uri.respond_to? :host validate_class(@person_class, "person_class", %i( @@ -53,8 +53,11 @@ module DiasporaFederation profile_url hcard_url )) + logger.info "successfully configured the federation engine" end + private + def validate_class(klass, name, methods) raise ConfigurationError, "missing #{name}" unless klass const = const_get(klass) diff --git a/lib/diaspora_federation/engine.rb b/lib/diaspora_federation/engine.rb index 183116a..1a6f20c 100644 --- a/lib/diaspora_federation/engine.rb +++ b/lib/diaspora_federation/engine.rb @@ -7,5 +7,9 @@ module DiasporaFederation config.generators do |g| g.test_framework :rspec end + + config.after_initialize do + DiasporaFederation.validate_config + end end end