AI-MicroStructure
view release on metacpan or search on metacpan
#!/usr/bin/env perl
use warnings;
use Data::Printer;
use JSON;
use Try::Tiny;
use File::Copy;
use Data::Dumper;
my $file = shift;
my $encoder = JSON->new->allow_blessed->pretty(0);
sub soundex
{
#my $dir = shift;
my $file = shift;
push @_,$file;
local( @res ) = map {$_=$_}@_; local($i, $t,$_);
for ( @res ) { tr/a-zA-Z//cd; tr/a-zA-Z/A-ZA-Z/s;
($i,$t) = /(.)(.*)/;
bin/remote.pl view on Meta::CPAN
if ( @{ $self->{base} } ) {
push @$Knowledge, shuffle @{ $self->{base} } while @$Knowledge < $count;
}
splice( @$Knowledge, 0, $count );
}
sub new {
my $class = shift;
no strict 'refs';
my $self = bless { @_, cache => [] }, $class;
# compute some defaults
$self->{category} ||= ${"$class\::Default"};
# fall back to last resort (FIXME should we carp()?)
$self->{category} = ${"$class\::Default"}
if $self->{category} ne ':all'
&& !exists ${"$class\::KnowHow"}{ $self->{category} };
$self->_compute_base();
bin/remote.pl view on Meta::CPAN
if (@{"$class\::Knowledge"}) {
push @$Knowledge, shuffle @{"$class\::Knowledge"} while @$Knowledge < $count;
}
}
splice( @$Knowledge, 0, $count );
}
sub new {
my $class = shift;
bless { cache => [] }, $class;
}
sub theme {
my $class = ref $_[0] || $_[0];
no strict 'refs';
return ${"$class\::Theme"};
}
1;
lib/AI/MicroStructure.pm view on Meta::CPAN
croak $@ if $@;
*{"$callpkg\::micro$structure"} = sub { $micro->name( $structure, @_ ) };
}
}
sub new {
my ( $class, @args ) = ( @_ );
my $structure;
$structure = shift @args if @args % 2;
$structure = $Structure unless $structure; # same default everywhere
# defer croaking until name() is actually called
bless { structure => $structure, args => { @args }, micro => {} ,state=>$state}, $class;
}
sub _rearrange{
my $self = shift;
$self->{'payload'} = shift if @_;
return %$self;
}
# CLASS METHODS
sub add_structure {
my $class = shift;
my %structures = @_;
lib/AI/MicroStructure/List.pm view on Meta::CPAN
if (@{"$class\::List"}) {
push @$list, shuffle @{"$class\::List"} while @$list < $count;
}
}
splice( @$list, 0, $count );
}
sub new {
my $class = shift;
bless { cache => [] }, $class;
}
sub structure {
my $class = ref $_[0] || $_[0];
no strict 'refs';
return ${"$class\::Theme"};
}
1;
lib/AI/MicroStructure/Locale.pm view on Meta::CPAN
${"$_[0]::Separator"} = '_';
# call the parent class init code
goto &AI::MicroStructure::MultiList::init;
}
sub new {
my $class = shift;
no strict 'refs';
my $self = bless { @_, cache => [] }, $class;
# compute some defaults
if( ! exists $self->{category} ) {
$self->{category} =
exists $self->{lang}
? $self->{lang}
: $ENV{LANGUAGE} || $ENV{LANG} || '';
if( !$self->{category} && $^O eq 'MSWin32' ) {
eval { require Win32::Locale; };
$self->{category} = Win32::Locale::get_language() unless $@;
lib/AI/MicroStructure/MultiList.pm view on Meta::CPAN
if ( @{ $self->{base} } ) {
push @$list, shuffle @{ $self->{base} } while @$list < $count;
}
splice( @$list, 0, $count );
}
sub new {
my $class = shift;
no strict 'refs';
my $self = bless { @_, cache => [] }, $class;
# compute some defaults
$self->{category} ||= ${"$class\::Default"};
# fall back to last resort (FIXME should we carp()?)
$self->{category} = ${"$class\::Default"}
if $self->{category} ne ':all'
&& !exists ${"$class\::MultiList"}{ $self->{category} };
$self->_compute_base();
lib/AI/MicroStructure/any.pm view on Meta::CPAN
my $self = shift;
my $structure =
( shuffle( grep { !/^(?:any|random)$/ } AI::MicroStructure->structures() ) )[0];
$self->{meta}->name( $structure, @_ );
}
sub new {
my $class = shift;
# we need a full AI::MicroStructure object, to support AMS::Locale
return bless { meta => AI::MicroStructure->new( @_ ) }, $class;
}
sub structure { $Theme };
sub has_remotelist { };
1;
( run in 1.562 second using v1.01-cache-2.11-cpan-de7293f3b23 )