NAME
MozRepl - Perl interface of MozRepl
VERSION
version 0.06
SYNOPSIS
use strict;
use warnings;
use MozRepl;
my $repl = MozRepl->new;
$repl->setup; ### You must write it.
$repl->execute(q|window.alert("Internet Explorer:<")|);
print $repl->repl_inspect({ source => "window" });
print $repl->repl_search({ pattern => "^getElement", source => "document"});
DESCRIPTION
MozRepl is accessing and control firefox using telnet, provided MozLab extension. This module is perl interface of MozRepl.
Additionaly this is enable to extend by writing plugin module. You want to write plugin, see MozRepl::Plugin::Base or other plugins.
For cygwin users
In cygwin, please add binmode param as 1 in client args.
$repl->setup({
client => {
extra_client_args => {
binmode => 1
}
}
});
METHODS
new($args)
Create MozRepl instance. One argument, and it must be hash reference.
- search
-
Module::Pluggable::Fast's arguments. If you want to search modules has not prefix like 'MozRepl::Plugin', then you are set this value like below.
my $repl = MozRepl->new({ search => [qw/MyRepl::Plugin OtherRepl::Plugin/] });
setup($args)
Setup logging, client, plugins. One argument, must be hash reference.
- log
-
Hash reference or undef. See "setup_log($args)" in MozRepl, "new($args)" in MozRepl::Log.
- client
-
Hash reference or undef. See "setup_client($args)" in MozRepl, "new($ctx, $args)" in MozRepl::Client.
- plugins
-
Hash reference or undef See "setup_plugins($args)" in MozRepl.
setup_log($args)
Create logging instance. default class is MozRepl::Log. If you want to change log class, then set class name using "log_class($class)" in MozRepl.
This method is only called in "setup($args)" in MozRepl.
One arguments, array reference. If you want to limit log levels, specify levels like below.
$repl->setup_log([qw/info warn error fatal/]);
See "new($args)" in MozRepl::Log.
If you want to use another log class, and already instanciate it, then you should call and set the instance before setup() method process.
Example,
my $repl = MozRepl->new;
$repl->log($another_log_instance);
$repl->setup($config);
setup_client($args)
Create (telnet) client instance. default class is MozRepl::Client. If you want to change client class, then set class name using "client_class($class)" in MozRepl.
This method is only called in "setup($args)" in MozRepl.
One arguments, hash reference. See "new($ctx, $args)" in MozRepl::Client.
setup_plugins($args)
Setup plugins. One argument, must be hash reference, it will be passed each plugin's as new method arguments. And "load_plugins($args)" in MozRepl too.
This method is only called in "setup($args)" in MozRepl.
setup_plugin($plugin, $args)
Create plugin instance, and mixin method to self. Method name is detect by plugin's package, see "plugin_to_method($plugin, $search)" in MozRepl::Util.
load_plugins
Load available plugins. One argument, must be hash reference or undef.
- plugins
-
Array reference. Specify only plugins you want to use.
$repl->load_plugins({ plugins => [qw/Repl::Print Repl::Inspect/] });
- except_plugins
-
Array reference. Specify except plugins you want to use.
$repl->load_plugins({ except_plugins => [qw/JSON/] });
enable_plugin($plugin)
Return whether the specified plugin is enabled or not.
execute($command)
Execute command and return result string. See "execute($command)" in MozRepl::Client.
finalize()
Finalize connection.
client($client)
Accessor of client object. See MozRepl::Client.
log($log)
Accessor of log object. See MozRepl::Log.
plugins($plugins)
Accessor of plugin table, key is plugin class name, value is plugin instance.
repl($repl)
Accessor of "repl" object name. If two or more connection to MozRepl, this name is added number on postfix like 'repl1'.
search($search)
Accessor of search pathes. See "new($args)" in MozRepl.
log_class($class)
Logging class name. default value is "MozRepl::Log"
client_class($class)
Client class name. default value is "MozRepl::Client"
SEE ALSO
- MozRepl::Util
- MozRepl::Plugin::Base
- http://dev.hyperstruct.net/mozlab
- http://dev.hyperstruct.net/mozlab/wiki/MozRepl
AUTHOR
Toru Yamaguchi, <zigorou@cpan.org>
BUGS
Please report any bugs or feature requests to bug-mozrepl@rt.cpan.org
, or through the web interface at http://rt.cpan.org. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.
COPYRIGHT & LICENSE
Copyright 2007 Toru Yamaguchi, All Rights Reserved.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.