created application to test extending the container
André Walker [Tue, 2 Aug 2011 17:53:47 +0000 (14:53 -0300)]
t/lib/TestAppCustomContainerNoSugar.pm [new file with mode: 0644]
t/lib/TestAppCustomContainerNoSugar/Container.pm [new file with mode: 0644]
t/lib/TestAppCustomContainerNoSugar/Controller/Root.pm [new file with mode: 0644]
t/lib/TestAppCustomContainerNoSugar/Model/Bar.pm [new file with mode: 0644]
t/lib/TestAppCustomContainerNoSugar/Model/Baz.pm [new file with mode: 0644]
t/lib/TestAppCustomContainerNoSugar/Model/Foo.pm [new file with mode: 0644]
t/lib/TestAppCustomContainerNoSugar/View/MyView.pm [new file with mode: 0644]

diff --git a/t/lib/TestAppCustomContainerNoSugar.pm b/t/lib/TestAppCustomContainerNoSugar.pm
new file mode 100644 (file)
index 0000000..3dc475b
--- /dev/null
@@ -0,0 +1,8 @@
+package TestAppCustomContainerNoSugar;
+use Moose;
+use Catalyst;
+extends 'Catalyst';
+
+__PACKAGE__->setup;
+
+1;
diff --git a/t/lib/TestAppCustomContainerNoSugar/Container.pm b/t/lib/TestAppCustomContainerNoSugar/Container.pm
new file mode 100644 (file)
index 0000000..d8f3bde
--- /dev/null
@@ -0,0 +1,37 @@
+package TestAppCustomContainerNoSugar::Container;
+use Moose;
+
+extends 'Catalyst::IOC::Container';
+
+sub BUILD {
+    my $self = shift;
+    $self->get_sub_container('component')->add_service(
+        Catalyst::IOC::ConstructorInjection->new(
+            name         => 'model_Baz',
+            class        => 'TestAppCustomContainerNoSugar::Model::Baz',
+            lifecycle    => 'InstancePerContext',
+            dependencies => [
+                depends_on( '/application_name' ),
+                depends_on( '/config' ),
+                depends_on( '/model/Foo' ),
+            ],
+        )
+    );
+    $self->get_sub_container('model')->add_service(
+        Catalyst::IOC::BlockInjection->new(
+            name         => 'Baz',
+            dependencies => [
+                depends_on( '/model/Foo' ),
+                depends_on( '/component/model_Baz' ),
+            ],
+            block => sub {
+                my $s        = shift;
+                my $foo      = $s->param('Foo');
+                my $instance = $s->param('model_Baz');
+                return $instance;
+            },
+        )
+    );
+}
+
+1;
diff --git a/t/lib/TestAppCustomContainerNoSugar/Controller/Root.pm b/t/lib/TestAppCustomContainerNoSugar/Controller/Root.pm
new file mode 100644 (file)
index 0000000..0bc72b3
--- /dev/null
@@ -0,0 +1,7 @@
+package TestAppCustomContainerNoSugar::Controller::Root;
+use Moose;
+BEGIN { extends 'Catalyst::Controller' }
+
+__PACKAGE__->meta->make_immutable;
+no Moose;
+1;
diff --git a/t/lib/TestAppCustomContainerNoSugar/Model/Bar.pm b/t/lib/TestAppCustomContainerNoSugar/Model/Bar.pm
new file mode 100644 (file)
index 0000000..cad3286
--- /dev/null
@@ -0,0 +1,8 @@
+package TestAppCustomContainerNoSugar::Model::Bar;
+use Moose;
+extends 'Catalyst::Model';
+
+__PACKAGE__->meta->make_immutable;
+
+no Moose;
+1;
diff --git a/t/lib/TestAppCustomContainerNoSugar/Model/Baz.pm b/t/lib/TestAppCustomContainerNoSugar/Model/Baz.pm
new file mode 100644 (file)
index 0000000..06913de
--- /dev/null
@@ -0,0 +1,8 @@
+package TestAppCustomContainerNoSugar::Model::Baz;
+use Moose;
+extends 'Catalyst::Model';
+
+__PACKAGE__->meta->make_immutable;
+
+no Moose;
+1;
diff --git a/t/lib/TestAppCustomContainerNoSugar/Model/Foo.pm b/t/lib/TestAppCustomContainerNoSugar/Model/Foo.pm
new file mode 100644 (file)
index 0000000..3b32cb9
--- /dev/null
@@ -0,0 +1,8 @@
+package TestAppCustomContainerNoSugar::Model::Foo;
+use Moose;
+extends 'Catalyst::Model';
+
+__PACKAGE__->meta->make_immutable;
+
+no Moose;
+1;
diff --git a/t/lib/TestAppCustomContainerNoSugar/View/MyView.pm b/t/lib/TestAppCustomContainerNoSugar/View/MyView.pm
new file mode 100644 (file)
index 0000000..ccf8fbe
--- /dev/null
@@ -0,0 +1,8 @@
+package TestAppCustomContainerNoSugar::View::MyView;
+use Moose;
+extends 'Catalyst::View';
+
+__PACKAGE__->meta->make_immutable;
+
+no Moose;
+1;