Real Life Example
file: code/validad/fill_campaigns
1: #!/usr/bin/env perl
2: use strict;
3: use warnings;
4: use 5.010;
5:
6: use FindBin;
7: use lib "$FindBin::Bin/../../lib";
8: use lib "$FindBin::Bin/../../t";
9: use Winxle::Run;
10:
11: use Winxle::DB::Connect;
12: use testlib::Fixtures::CampaignDB;
13: use Winxle::DataSpreader;
14: use Winxle::Render::TT;
15: use Winxle::BreadBoard;
16: my $bb = Winxle::BreadBoard->setup('Dev');
17:
18: my $f = testlib::Fixtures::CampaignDB->new(
19: dbic=>$bb->resolve(service=>'/Component/DB/schema'),
20: kioku=>$bb->resolve(service=>'/Component/DataProvider/Kioku/dir'),
21: );
22: my $renderer = Winxle::Render::TT->new(
23: tt=>$bb->resolve(service=>'/Component/TT/nowrap'),
24: localizer=>$bb->resolve(service=>'/Component/I18N/dummy'),
25: );
26: my $spreader = Winxle::DataSpreader->new(
27: dbh => $f->dbic->storage->dbh,
28: renderer=>$renderer,
29: root_dir=>$bb->resolve(service=>'/Component/Path/root'),
30: );
31:
32: my $total = $ARGV[0] || 100;
33: my @types=qw(coupon_percent coupon_absolute coupon_m_for_n);
34:
35: my $cnt=1;
36: while ($cnt <= $total) {
37: my $type = $types[$cnt % scalar @types];
38: say "creating $cnt: $type";
39: my $campaign = $f->create($type);
40: $f->publish($spreader, $campaign);
41:
42: $cnt++;
43: }
44:
45: 1;