Skip to content

Commit

Permalink
attempting to demo my YAML utf-8 problems
Browse files Browse the repository at this point in the history
  • Loading branch information
jhannah committed Sep 21, 2010
1 parent 8197a46 commit 4f7faf9
Show file tree
Hide file tree
Showing 30 changed files with 490 additions and 0 deletions.
4 changes: 4 additions & 0 deletions YAMLTrouble/Changes
@@ -0,0 +1,4 @@
This file documents the revision history for Perl extension YAMLTrouble.

0.01 2010-09-21 16:30:12
- initial revision, generated by Catalyst
25 changes: 25 additions & 0 deletions YAMLTrouble/Makefile.PL
@@ -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 'YAMLTrouble';
all_from 'lib/YAMLTrouble.pm';

requires 'Catalyst::Runtime' => '5.80027';
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;
1 change: 1 addition & 0 deletions YAMLTrouble/README
@@ -0,0 +1 @@
Run script/yamltrouble_server.pl to test the application.
72 changes: 72 additions & 0 deletions YAMLTrouble/lib/YAMLTrouble.pm
@@ -0,0 +1,72 @@
package YAMLTrouble;
use Moose;
use namespace::autoclean;

use Catalyst::Runtime 5.80;

# Set flags and add plugins for the application
#
# -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';
$VERSION = eval $VERSION;

# Configure the application.
#
# Note that settings in yamltrouble.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 => 'YAMLTrouble',
# Disable deprecated behavior needed by old applications
disable_component_resolution_regex_fallback => 1,
);

# Start the application
__PACKAGE__->setup();


=head1 NAME
YAMLTrouble - Catalyst based application
=head1 SYNOPSIS
script/yamltrouble_server.pl
=head1 DESCRIPTION
[enter your description here]
=head1 SEE ALSO
L<YAMLTrouble::Controller::Root>, L<Catalyst>
=head1 AUTHOR
Catalyst developer
=head1 LICENSE
This library is free software. You can redistribute it and/or modify
it under the same terms as Perl itself.
=cut

1;
Binary file not shown.
69 changes: 69 additions & 0 deletions YAMLTrouble/lib/YAMLTrouble/Controller/Root.pm
@@ -0,0 +1,69 @@
package YAMLTrouble::Controller::Root;
use Moose;
use namespace::autoclean;
use YAML::Any;

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
YAMLTrouble::Controller::Root - Root Controller for YAMLTrouble
=head1 DESCRIPTION
[enter your description here]
=head1 METHODS
=head2 index
The root page (/)
=cut

sub index :Path :Args(0) {
my ( $self, $c ) = @_;
}


sub good : Local {
my ($self, $c) = @_;
$c->stash(chinese => '我很瞭解歐姆耐酒店的願景');
}

sub bad : Local {
my ($self, $c) = @_;
$c->stash(chinese => '我很瞭解歐姆耐酒店的願景');
my $cfg = YAML::Any::LoadFile('yamltrouble.yml');
$c->stash(config_string => $cfg->{name});
}


=head2 end
Attempt to render a view, if needed.
=cut

sub end : ActionClass('RenderView') {}

=head1 AUTHOR
Catalyst developer
=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;
33 changes: 33 additions & 0 deletions YAMLTrouble/lib/YAMLTrouble/View/TT.pm
@@ -0,0 +1,33 @@
package YAMLTrouble::View::TT;

use strict;
use warnings;

use base 'Catalyst::View::TT';

__PACKAGE__->config(TEMPLATE_EXTENSION => '.tt');

=head1 NAME
YAMLTrouble::View::TT - TT View for YAMLTrouble
=head1 DESCRIPTION
TT View for YAMLTrouble.
=head1 SEE ALSO
L<YAMLTrouble>
=head1 AUTHOR
A clever guy
=head1 LICENSE
This library is free software. You can redistribute it and/or modify
it under the same terms as Perl itself.
=cut

1;
4 changes: 4 additions & 0 deletions YAMLTrouble/root/bad.tt
@@ -0,0 +1,4 @@

Chinese: [[% chinese %]]<br/>
Config: [[% config_string %]]

Binary file added YAMLTrouble/root/favicon.ico
Binary file not shown.
4 changes: 4 additions & 0 deletions YAMLTrouble/root/good.tt
@@ -0,0 +1,4 @@

Chinese: [[% chinese %]]<br/>
Config: [[% config_string %]]

4 changes: 4 additions & 0 deletions YAMLTrouble/root/index.tt
@@ -0,0 +1,4 @@

<a href="/good">good</a> <a href="/bad">bad</a>


Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added YAMLTrouble/root/static/images/catalyst_logo.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
30 changes: 30 additions & 0 deletions YAMLTrouble/script/yamltrouble_cgi.pl
@@ -0,0 +1,30 @@
#!/usr/bin/env perl

use Catalyst::ScriptRunner;
Catalyst::ScriptRunner->run('YAMLTrouble', 'CGI');

1;

=head1 NAME
yamltrouble_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

57 changes: 57 additions & 0 deletions YAMLTrouble/script/yamltrouble_create.pl
@@ -0,0 +1,57 @@
#!/usr/bin/env perl

use strict;
use warnings;

use Catalyst::ScriptRunner;
Catalyst::ScriptRunner->run('YAMLTrouble', 'Create');

1;

=head1 NAME
yamltrouble_create.pl - Create a new Catalyst Component
=head1 SYNOPSIS
yamltrouble_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:
yamltrouble_create.pl controller My::Controller
yamltrouble_create.pl -mechanize controller My::Controller
yamltrouble_create.pl view My::View
yamltrouble_create.pl view MyView TT
yamltrouble_create.pl view TT TT
yamltrouble_create.pl model My::Model
yamltrouble_create.pl model SomeDB DBIC::Schema MyApp::Schema create=dynamic\
dbi:SQLite:/tmp/my.db
yamltrouble_create.pl model AnotherDB DBIC::Schema MyApp::Schema create=static\
dbi:Pg:dbname=foo root 4321
See also:
perldoc Catalyst::Manual
perldoc Catalyst::Manual::Intro
=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
47 changes: 47 additions & 0 deletions YAMLTrouble/script/yamltrouble_fastcgi.pl
@@ -0,0 +1,47 @@
#!/usr/bin/env perl

use Catalyst::ScriptRunner;
Catalyst::ScriptRunner->run('YAMLTrouble', 'FastCGI');

1;

=head1 NAME
yamltrouble_fastcgi.pl - Catalyst FastCGI
=head1 SYNOPSIS
yamltrouble_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
=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

0 comments on commit 4f7faf9

Please sign in to comment.