NAME

Scrappy::Session - Scrappy Scraper Session Handling

VERSION

version 0.94112090

SYNOPSIS

    #!/usr/bin/perl
    use Scrappy::Session;

    my  $session = Scrappy::Session->new;
    
        -f 'scraper.sess' ?
        $session->load('scraper.sess');
        $session->write('scraper.sess');
        
        $session->stash('foo' => 'bar');
        $session->stash('abc' => [('a'..'z')]);

DESCRIPTION

Scrappy::Session provides YAML-Based session file handling for saving recorded data across multiple execution using the Scrappy framework.

ATTRIBUTES

The following is a list of object attributes available with every Scrappy::Session instance.

auto_save

The auto_save attribute is a boolean that determines whether stash data is automatically saved to the session file on update.

    my  $session = Scrappy::Session->new;
        
        $session->load('scraper.sess');
        $session->stash('foo' => 'bar');
        
        # turn auto-saving off
        $session->auto_save(0);
        $session->stash('foo' => 'bar');
        $session->write; # explicit write

file

The file attribute gets/sets the filename of the current session file.

    my  $session = Scrappy::Session->new;
        
        $session->load('scraper.sess');
        $session->write('scraper.sess.bak');
        $session->file('scraper.sess');

METHODS

load

The load method is used to read-in a session file, it returns its data in the structure it was saved-in.

    my  $session = Scrappy::Session->new;
    my  $data = $session->load('scraper.sess');

stash

The stash method accesses the stash object which is used to store data to be written to the session file.

    my  $session = Scrappy::Session->new;
        $session->load('scraper.sess');
        
        $session->stash('foo' => 'bar');
        $session->stash('abc' => [('a'..'z')]);
        $session->stash->{123} = [(1..9)];

write

The write method is used to write-out a session file, it saves the data stored in the session stash and it returns the data written upon completion.

    my  $session = Scrappy::Session->new;
    
        $session->stash('foo' => 'bar');
        $session->stash('abc' => [('a'..'z')]);
        $session->stash->{123} = [(1..9)];
    
    my  $data = $session->write('scraper.sess');

AUTHOR

Al Newkirk <awncorp@cpan.org>

COPYRIGHT AND LICENSE

This software is copyright (c) 2010 by awncorp.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.