]> Dogcows Code - chaz/chatty/commitdiff
initial commit
authorCharles McGarvey <chazmcgarvey@brokenzipper.com>
Thu, 13 Oct 2011 03:14:01 +0000 (21:14 -0600)
committerCharles McGarvey <chazmcgarvey@brokenzipper.com>
Thu, 13 Oct 2011 03:14:01 +0000 (21:14 -0600)
24 files changed:
Changes [new file with mode: 0644]
Makefile.PL [new file with mode: 0644]
chatty.conf [new file with mode: 0644]
chatty.psgi [new file with mode: 0644]
lib/Chatty.pm [new file with mode: 0644]
lib/Chatty/Controller/Root.pm [new file with mode: 0644]
root/favicon.ico [new file with mode: 0644]
root/static/images/btn_120x50_built.png [new file with mode: 0644]
root/static/images/btn_120x50_built_shadow.png [new file with mode: 0644]
root/static/images/btn_120x50_powered.png [new file with mode: 0644]
root/static/images/btn_120x50_powered_shadow.png [new file with mode: 0644]
root/static/images/btn_88x31_built.png [new file with mode: 0644]
root/static/images/btn_88x31_built_shadow.png [new file with mode: 0644]
root/static/images/btn_88x31_powered.png [new file with mode: 0644]
root/static/images/btn_88x31_powered_shadow.png [new file with mode: 0644]
root/static/images/catalyst_logo.png [new file with mode: 0644]
script/chatty_cgi.pl [new file with mode: 0755]
script/chatty_create.pl [new file with mode: 0755]
script/chatty_fastcgi.pl [new file with mode: 0755]
script/chatty_server.pl [new file with mode: 0755]
script/chatty_test.pl [new file with mode: 0755]
t/01app.t [new file with mode: 0644]
t/02pod.t [new file with mode: 0644]
t/03podcoverage.t [new file with mode: 0644]

diff --git a/Changes b/Changes
new file mode 100644 (file)
index 0000000..ea690a6
--- /dev/null
+++ b/Changes
@@ -0,0 +1,4 @@
+This file documents the revision history for Perl extension Chatty.
+
+0.01  2011-10-12 21:13:40
+        - initial revision, generated by Catalyst
diff --git a/Makefile.PL b/Makefile.PL
new file mode 100644 (file)
index 0000000..40bca1b
--- /dev/null
@@ -0,0 +1,25 @@
+#!/usr/bin/env perl
+# IMPORTANT: if you delete this file your app will not work as
+# expected.  You have been warned.
+use inc::Module::Install;
+use Module::Install::Catalyst; # Complain loudly if you don't have
+                               # Catalyst::Devel installed or haven't said
+                               # 'make dist' to create a standalone tarball.
+
+name 'Chatty';
+all_from 'lib/Chatty.pm';
+
+requires 'Catalyst::Runtime' => '5.90002';
+requires 'Catalyst::Plugin::ConfigLoader';
+requires 'Catalyst::Plugin::Static::Simple';
+requires 'Catalyst::Action::RenderView';
+requires 'Moose';
+requires 'namespace::autoclean';
+requires 'Config::General'; # This should reflect the config file format you've chosen
+                 # See Catalyst::Plugin::ConfigLoader for supported formats
+test_requires 'Test::More' => '0.88';
+catalyst;
+
+install_script glob('script/*.pl');
+auto_install;
+WriteAll;
diff --git a/chatty.conf b/chatty.conf
new file mode 100644 (file)
index 0000000..c102528
--- /dev/null
@@ -0,0 +1,3 @@
+# rename this file to chatty.yml and put a ':' after 'name' if
+# you want to use YAML like in old versions of Catalyst
+name Chatty
diff --git a/chatty.psgi b/chatty.psgi
new file mode 100644 (file)
index 0000000..504e20d
--- /dev/null
@@ -0,0 +1,8 @@
+use strict;
+use warnings;
+
+use Chatty;
+
+my $app = Chatty->apply_default_middlewares(Chatty->psgi_app);
+$app;
+
diff --git a/lib/Chatty.pm b/lib/Chatty.pm
new file mode 100644 (file)
index 0000000..ee849cc
--- /dev/null
@@ -0,0 +1,75 @@
+package Chatty;
+use Moose;
+use namespace::autoclean;
+
+use Catalyst::Runtime 5.80;
+
+# Set flags and add plugins for the application.
+#
+# Note that ORDERING IS IMPORTANT here as plugins are initialized in order,
+# therefore you almost certainly want to keep ConfigLoader at the head of the
+# list if you're using it.
+#
+#         -Debug: activates the debug mode for very useful log messages
+#   ConfigLoader: will load the configuration from a Config::General file in the
+#                 application's home directory
+# Static::Simple: will serve static files from the application's root
+#                 directory
+
+use Catalyst qw/
+    -Debug
+    ConfigLoader
+    Static::Simple
+/;
+
+extends 'Catalyst';
+
+our $VERSION = '0.01';
+
+# Configure the application.
+#
+# Note that settings in chatty.conf (or other external
+# configuration file that you set up manually) take precedence
+# over this when using ConfigLoader. Thus configuration
+# details given here can function as a default configuration,
+# with an external configuration file acting as an override for
+# local deployment.
+
+__PACKAGE__->config(
+    name => 'Chatty',
+    # Disable deprecated behavior needed by old applications
+    disable_component_resolution_regex_fallback => 1,
+);
+
+# Start the application
+__PACKAGE__->setup();
+
+
+=head1 NAME
+
+Chatty - Catalyst based application
+
+=head1 SYNOPSIS
+
+    script/chatty_server.pl
+
+=head1 DESCRIPTION
+
+[enter your description here]
+
+=head1 SEE ALSO
+
+L<Chatty::Controller::Root>, L<Catalyst>
+
+=head1 AUTHOR
+
+Charles McGarvey
+
+=head1 LICENSE
+
+This library is free software. You can redistribute it and/or modify
+it under the same terms as Perl itself.
+
+=cut
+
+1;
diff --git a/lib/Chatty/Controller/Root.pm b/lib/Chatty/Controller/Root.pm
new file mode 100644 (file)
index 0000000..4d4c979
--- /dev/null
@@ -0,0 +1,69 @@
+package Chatty::Controller::Root;
+use Moose;
+use namespace::autoclean;
+
+BEGIN { extends 'Catalyst::Controller' }
+
+#
+# Sets the actions in this controller to be registered with no prefix
+# so they function identically to actions created in MyApp.pm
+#
+__PACKAGE__->config(namespace => '');
+
+=head1 NAME
+
+Chatty::Controller::Root - Root Controller for Chatty
+
+=head1 DESCRIPTION
+
+[enter your description here]
+
+=head1 METHODS
+
+=head2 index
+
+The root page (/)
+
+=cut
+
+sub index :Path :Args(0) {
+    my ( $self, $c ) = @_;
+
+    # Hello World
+    $c->response->body( $c->welcome_message );
+}
+
+=head2 default
+
+Standard 404 error page
+
+=cut
+
+sub default :Path {
+    my ( $self, $c ) = @_;
+    $c->response->body( 'Page not found' );
+    $c->response->status(404);
+}
+
+=head2 end
+
+Attempt to render a view, if needed.
+
+=cut
+
+sub end : ActionClass('RenderView') {}
+
+=head1 AUTHOR
+
+Charles McGarvey
+
+=head1 LICENSE
+
+This library is free software. You can redistribute it and/or modify
+it under the same terms as Perl itself.
+
+=cut
+
+__PACKAGE__->meta->make_immutable;
+
+1;
diff --git a/root/favicon.ico b/root/favicon.ico
new file mode 100644 (file)
index 0000000..5ad723d
Binary files /dev/null and b/root/favicon.ico differ
diff --git a/root/static/images/btn_120x50_built.png b/root/static/images/btn_120x50_built.png
new file mode 100644 (file)
index 0000000..c709fd6
Binary files /dev/null and b/root/static/images/btn_120x50_built.png differ
diff --git a/root/static/images/btn_120x50_built_shadow.png b/root/static/images/btn_120x50_built_shadow.png
new file mode 100644 (file)
index 0000000..15142fe
Binary files /dev/null and b/root/static/images/btn_120x50_built_shadow.png differ
diff --git a/root/static/images/btn_120x50_powered.png b/root/static/images/btn_120x50_powered.png
new file mode 100644 (file)
index 0000000..7249b47
Binary files /dev/null and b/root/static/images/btn_120x50_powered.png differ
diff --git a/root/static/images/btn_120x50_powered_shadow.png b/root/static/images/btn_120x50_powered_shadow.png
new file mode 100644 (file)
index 0000000..e6876c0
Binary files /dev/null and b/root/static/images/btn_120x50_powered_shadow.png differ
diff --git a/root/static/images/btn_88x31_built.png b/root/static/images/btn_88x31_built.png
new file mode 100644 (file)
index 0000000..007b5db
Binary files /dev/null and b/root/static/images/btn_88x31_built.png differ
diff --git a/root/static/images/btn_88x31_built_shadow.png b/root/static/images/btn_88x31_built_shadow.png
new file mode 100644 (file)
index 0000000..ccf4624
Binary files /dev/null and b/root/static/images/btn_88x31_built_shadow.png differ
diff --git a/root/static/images/btn_88x31_powered.png b/root/static/images/btn_88x31_powered.png
new file mode 100644 (file)
index 0000000..8f0cd9f
Binary files /dev/null and b/root/static/images/btn_88x31_powered.png differ
diff --git a/root/static/images/btn_88x31_powered_shadow.png b/root/static/images/btn_88x31_powered_shadow.png
new file mode 100644 (file)
index 0000000..aa776fa
Binary files /dev/null and b/root/static/images/btn_88x31_powered_shadow.png differ
diff --git a/root/static/images/catalyst_logo.png b/root/static/images/catalyst_logo.png
new file mode 100644 (file)
index 0000000..21f1cac
Binary files /dev/null and b/root/static/images/catalyst_logo.png differ
diff --git a/script/chatty_cgi.pl b/script/chatty_cgi.pl
new file mode 100755 (executable)
index 0000000..9c50952
--- /dev/null
@@ -0,0 +1,30 @@
+#!/usr/bin/env perl
+
+use Catalyst::ScriptRunner;
+Catalyst::ScriptRunner->run('Chatty', 'CGI');
+
+1;
+
+=head1 NAME
+
+chatty_cgi.pl - Catalyst CGI
+
+=head1 SYNOPSIS
+
+See L<Catalyst::Manual>
+
+=head1 DESCRIPTION
+
+Run a Catalyst application as a cgi script.
+
+=head1 AUTHORS
+
+Catalyst Contributors, see Catalyst.pm
+
+=head1 COPYRIGHT
+
+This library is free software. You can redistribute it and/or modify
+it under the same terms as Perl itself.
+
+=cut
+
diff --git a/script/chatty_create.pl b/script/chatty_create.pl
new file mode 100755 (executable)
index 0000000..84464e6
--- /dev/null
@@ -0,0 +1,60 @@
+#!/usr/bin/env perl
+
+use strict;
+use warnings;
+
+use Catalyst::ScriptRunner;
+Catalyst::ScriptRunner->run('Chatty', 'Create');
+
+1;
+
+=head1 NAME
+
+chatty_create.pl - Create a new Catalyst Component
+
+=head1 SYNOPSIS
+
+chatty_create.pl [options] model|view|controller name [helper] [options]
+
+ Options:
+   --force        don't create a .new file where a file to be created exists
+   --mechanize    use Test::WWW::Mechanize::Catalyst for tests if available
+   --help         display this help and exits
+
+ Examples:
+   chatty_create.pl controller My::Controller
+   chatty_create.pl --mechanize controller My::Controller
+   chatty_create.pl view My::View
+   chatty_create.pl view HTML TT
+   chatty_create.pl model My::Model
+   chatty_create.pl model SomeDB DBIC::Schema MyApp::Schema create=dynamic\
+   dbi:SQLite:/tmp/my.db
+   chatty_create.pl model AnotherDB DBIC::Schema MyApp::Schema create=static\
+   [Loader opts like db_schema, naming] dbi:Pg:dbname=foo root 4321
+   [connect_info opts like quote_char, name_sep]
+
+ See also:
+   perldoc Catalyst::Manual
+   perldoc Catalyst::Manual::Intro
+   perldoc Catalyst::Helper::Model::DBIC::Schema
+   perldoc Catalyst::Model::DBIC::Schema
+   perldoc Catalyst::View::TT
+
+=head1 DESCRIPTION
+
+Create a new Catalyst Component.
+
+Existing component files are not overwritten.  If any of the component files
+to be created already exist the file will be written with a '.new' suffix.
+This behavior can be suppressed with the C<-force> option.
+
+=head1 AUTHORS
+
+Catalyst Contributors, see Catalyst.pm
+
+=head1 COPYRIGHT
+
+This library is free software. You can redistribute it and/or modify
+it under the same terms as Perl itself.
+
+=cut
diff --git a/script/chatty_fastcgi.pl b/script/chatty_fastcgi.pl
new file mode 100755 (executable)
index 0000000..202f7b2
--- /dev/null
@@ -0,0 +1,48 @@
+#!/usr/bin/env perl
+
+use Catalyst::ScriptRunner;
+Catalyst::ScriptRunner->run('Chatty', 'FastCGI');
+
+1;
+
+=head1 NAME
+
+chatty_fastcgi.pl - Catalyst FastCGI
+
+=head1 SYNOPSIS
+
+chatty_fastcgi.pl [options]
+
+ Options:
+   -? -help      display this help and exits
+   -l --listen   Socket path to listen on
+                 (defaults to standard input)
+                 can be HOST:PORT, :PORT or a
+                 filesystem path
+   -n --nproc    specify number of processes to keep
+                 to serve requests (defaults to 1,
+                 requires -listen)
+   -p --pidfile  specify filename for pid file
+                 (requires -listen)
+   -d --daemon   daemonize (requires -listen)
+   -M --manager  specify alternate process manager
+                 (FCGI::ProcManager sub-class)
+                 or empty string to disable
+   -e --keeperr  send error messages to STDOUT, not
+                 to the webserver
+   --proc_title  Set the process title (is possible)
+
+=head1 DESCRIPTION
+
+Run a Catalyst application as fastcgi.
+
+=head1 AUTHORS
+
+Catalyst Contributors, see Catalyst.pm
+
+=head1 COPYRIGHT
+
+This library is free software. You can redistribute it and/or modify
+it under the same terms as Perl itself.
+
+=cut
diff --git a/script/chatty_server.pl b/script/chatty_server.pl
new file mode 100755 (executable)
index 0000000..bc8d2cd
--- /dev/null
@@ -0,0 +1,60 @@
+#!/usr/bin/env perl
+
+BEGIN {
+    $ENV{CATALYST_SCRIPT_GEN} = 40;
+}
+
+use Catalyst::ScriptRunner;
+Catalyst::ScriptRunner->run('Chatty', 'Server');
+
+1;
+
+=head1 NAME
+
+chatty_server.pl - Catalyst Test Server
+
+=head1 SYNOPSIS
+
+chatty_server.pl [options]
+
+   -d --debug           force debug mode
+   -f --fork            handle each request in a new process
+                        (defaults to false)
+   -? --help            display this help and exits
+   -h --host            host (defaults to all)
+   -p --port            port (defaults to 3000)
+   -k --keepalive       enable keep-alive connections
+   -r --restart         restart when files get modified
+                        (defaults to false)
+   -rd --restart_delay  delay between file checks
+                        (ignored if you have Linux::Inotify2 installed)
+   -rr --restart_regex  regex match files that trigger
+                        a restart when modified
+                        (defaults to '\.yml$|\.yaml$|\.conf|\.pm$')
+   --restart_directory  the directory to search for
+                        modified files, can be set multiple times
+                        (defaults to '[SCRIPT_DIR]/..')
+   --follow_symlinks    follow symlinks in search directories
+                        (defaults to false. this is a no-op on Win32)
+   --background         run the process in the background
+   --pidfile            specify filename for pid file
+
+ See also:
+   perldoc Catalyst::Manual
+   perldoc Catalyst::Manual::Intro
+
+=head1 DESCRIPTION
+
+Run a Catalyst Testserver for this application.
+
+=head1 AUTHORS
+
+Catalyst Contributors, see Catalyst.pm
+
+=head1 COPYRIGHT
+
+This library is free software. You can redistribute it and/or modify
+it under the same terms as Perl itself.
+
+=cut
+
diff --git a/script/chatty_test.pl b/script/chatty_test.pl
new file mode 100755 (executable)
index 0000000..c2180b7
--- /dev/null
@@ -0,0 +1,40 @@
+#!/usr/bin/env perl
+
+use Catalyst::ScriptRunner;
+Catalyst::ScriptRunner->run('Chatty', 'Test');
+
+1;
+
+=head1 NAME
+
+chatty_test.pl - Catalyst Test
+
+=head1 SYNOPSIS
+
+chatty_test.pl [options] uri
+
+ Options:
+   --help    display this help and exits
+
+ Examples:
+   chatty_test.pl http://localhost/some_action
+   chatty_test.pl /some_action
+
+ See also:
+   perldoc Catalyst::Manual
+   perldoc Catalyst::Manual::Intro
+
+=head1 DESCRIPTION
+
+Run a Catalyst action from the command line.
+
+=head1 AUTHORS
+
+Catalyst Contributors, see Catalyst.pm
+
+=head1 COPYRIGHT
+
+This library is free software. You can redistribute it and/or modify
+it under the same terms as Perl itself.
+
+=cut
diff --git a/t/01app.t b/t/01app.t
new file mode 100644 (file)
index 0000000..55f9607
--- /dev/null
+++ b/t/01app.t
@@ -0,0 +1,10 @@
+#!/usr/bin/env perl
+use strict;
+use warnings;
+use Test::More;
+
+use Catalyst::Test 'Chatty';
+
+ok( request('/')->is_success, 'Request should succeed' );
+
+done_testing();
diff --git a/t/02pod.t b/t/02pod.t
new file mode 100644 (file)
index 0000000..ababc2e
--- /dev/null
+++ b/t/02pod.t
@@ -0,0 +1,10 @@
+#!/usr/bin/env perl
+use strict;
+use warnings;
+use Test::More;
+
+plan skip_all => 'set TEST_POD to enable this test' unless $ENV{TEST_POD};
+eval "use Test::Pod 1.14";
+plan skip_all => 'Test::Pod 1.14 required' if $@;
+
+all_pod_files_ok();
diff --git a/t/03podcoverage.t b/t/03podcoverage.t
new file mode 100644 (file)
index 0000000..6ddc5c6
--- /dev/null
@@ -0,0 +1,14 @@
+#!/usr/bin/env perl
+use strict;
+use warnings;
+use Test::More;
+
+plan skip_all => 'set TEST_POD to enable this test' unless $ENV{TEST_POD};
+
+eval "use Test::Pod::Coverage 1.04";
+plan skip_all => 'Test::Pod::Coverage 1.04 required' if $@;
+
+eval "use Pod::Coverage 0.20";
+plan skip_all => 'Pod::Coverage 0.20 required' if $@;
+
+all_pod_coverage_ok();
This page took 0.036738 seconds and 4 git commands to generate.