use strict;
use warnings;
package Jifty::Plugin::Prototypism;
use base 'Jifty::Plugin';
=head1 NAME
Jifty::Plugin::Prototypism - Provide Prototype and Scriptaculous js libraries
=head1 SYNOPSIS
# In your jifty config.yml under the framework section:
Plugins:
- Prototypism
cdn: 'http://yourcdn.for.static.prefix/'
=head1 DESCRIPTION
This module provides the Prototype and Scriptaculous javascript
libraries to your application. Jifty used to rely on these libraries,
so this plugin may be automatically added to your application's
plugins if you upgrade from an older version of Jifty. It is safe to
remove if your application does not use Prototype or Scriptaculous
javascript code, however.
=cut
__PACKAGE__->mk_accessors(qw(cdn));
=head1 METHODS
=head2 init
On initialization, adds Jifty compatibility methods if the
configuration file version is before 4.
=cut
sub init {
my $self = shift;
return if $self->_pre_init;
my %opt = @_;
$self->cdn( $opt{ cdn } || '' );
my @js = qw(
prototype
scriptaculous/builder
scriptaculous/effects
scriptaculous/controls
);
push @js, 'jifty_compatible' if Jifty->config->framework('ConfigFileVersion') < 4;
Jifty->web->add_javascript( "prototypism/$_.js" ) for @js;
}
1;