]> git.evergreen-ils.org Git - Evergreen.git/blob - Open-ILS/src/perlmods/OpenILS/Utils/ScriptRunner.pm
added retrieve method to return the string value for a given path/key
[Evergreen.git] / Open-ILS / src / perlmods / OpenILS / Utils / ScriptRunner.pm
1 package OpenILS::Utils::ScriptRunner;
2 use strict; use warnings;
3 use OpenSRF::Utils::Logger qw(:logger);
4 use OpenILS::Utils::SpiderMonkey;
5
6 sub new {
7
8         my $class = shift;
9         my %params = @_;
10         $class = ref($class) || $class;
11
12         my $type = $params{type} || 'js';
13         my $thingy = OpenILS::Utils::SpiderMonkey->new( %params ) if( $type =~ /js/i );
14
15         if($thingy) { 
16                 $thingy->init; 
17                 return $thingy;
18
19         } else { 
20                 $logger->error("Unknown script type in OpenILS::Utils::ScriptRunner"); 
21         }
22         return undef;
23 }
24
25 sub init {$logger->error("METHOD NOT DEFINED"); }
26
27 # the script context
28 sub context {$logger->error("METHOD NOT DEFINED"); }
29
30 # Retrieves a value based on key
31 sub retrieve {$logger->error("METHOD NOT DEFINED"); }
32
33 # generic insertion method - should work on arrays, 
34 # hashes, fieldmapper objects, and scalars
35 sub insert {$logger->error("METHOD NOT DEFINED"); }
36
37 # loads an external script
38 sub load { $logger->error("METHOD NOT DEFINED"); }
39
40 # Runs an external script.
41 # @return 1 on success, 0 on failure
42 sub run { $logger->error("METHOD NOT DEFINED"); }
43
44 # load an external library
45 sub load_lib { $logger->error("METHOD NOT DEFINED"); }
46
47 1;