[Dancer-users] Sharing config files
Stephen Fenwick-Paul
stephen at activeg.org
Tue Nov 15 19:14:07 CET 2011
Ta, for the pointers. This does it, if anyone else has similar needs
In your conf.yml
global_config : "../shared_conf/config.yml" # with relation to appdir
and some code to load it:
sub includeGlobalConfig {
my $self = shift;
my ($appdir) = setting('appdir');
# For some reason Mason2 does not like the relative path
$appdir =~ s|/bin/..||;
my ($gconfig_file) = $appdir . "/" . config->{global_config};
die "Unable to find global config '$gconfig_file'" unless -f
$gconfig_file;
my ($gconfig) = YAML::LoadFile($gconfig_file);
# Merge with default
map { config->{$_} = $gconfig->{$_} } keys %{$gconfig};
# If your using Mason2
config->{engines}{mason2}->{data_dir} = $appdir . "/data";
config->{engines}{mason2}->{comp_root} = $appdir . "/views";
config->{engines}{mason2}->{autoextend_request_path} = 0;
# Mason2 bug - when not running from server (i.e. test), it looses appdir
for views
config->{views} = $appdir . "/views";
};
And call it in your app.pm - something like:
package MyApp;
use Dancer ':syntax';
MyApp::Config->new()->includeGlobalConfig();
get '/index' => {
......
};
On 15 November 2011 10:45, Stephen Fenwick-Paul <stephen at activeg.org> wrote:
> Thanks, that's the way I will go.
>
>
> On 15 November 2011 10:44, David Precious <davidp at preshweb.co.uk> wrote:
>
>> On Tuesday 15 November 2011 10:42:21 David Precious wrote:
>> > In the meantime, you could store your database settings in a separate
>> YAML
>> > file, then in your apps, load that and put it into the app's config with
>> > something a little like:
>> >
>> > my $db_conf = YAML::LoadFile('database.yml');
>> > config->{plugins}{Database} = $db_conf;
>> >
>> > That should work :)
>>
>> And of course that could be even more concise using the from_yaml()
>> keyword
>> provided by Dancer, e.g.:
>>
>> config->{plugins}{Database} = from_yaml('database.yml');
>>
>>
>> --
>> David Precious ("bigpresh")
>> http://www.preshweb.co.uk/
>>
>> "Programming is like sex. One mistake and you have to support
>> it for the rest of your life". (Michael Sinz)
>>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.backup-manager.org/pipermail/dancer-users/attachments/20111115/d2e1ebb3/attachment.htm>
More information about the Dancer-users
mailing list