--- /dev/null
+package Data::Perl::Collection::Set;
+
+use Moose;
+use Method::Signatures::Simple;
+use Data::Perl::Stream::Array;
+
+has '_members' => (is => 'ro', required => 1, init_arg => 'members');
+
+method map ($fun) {
+ (ref $self)->new(
+ members => [ map $fun->($_), @{$self->_members} ]
+ )
+}
+
+method to_stream {
+ Data::Perl::Stream::Array->new(array => [ @{$self->_members} ])
+}
+
+__PACKAGE__->meta->make_immutable;
+
+1;
--- /dev/null
+package Data::Perl::Stream::Array;
+
+use Moose;
+use Method::Signatures::Simple;
+
+has _array => (is => 'rw', required => 1, init_arg => 'array');
+
+method BUILD { $self->_array([ @{$self->_array} ]) }
+
+method next {
+ my $ary = $self->_array;
+ return unless @$ary;
+ return shift @$ary;
+}
+
+method map ($map_func) {
+ ref($self)->new(array => [ map { $map_func->($_) } @{$self->_array} ]);
+}
+
+__PACKAGE__->meta->make_immutable;
+
+1;
use strict;
+use lib qw(t/lib/);
use warnings FATAL => 'all';
use Test::More;
use strict;
+use lib qw(t/lib);
use warnings FATAL => 'all';
use Test::More;
use strict;
use warnings FATAL => 'all';
+use Test::More;
+
use App::IdiotBox::Store::SQLite;
use App::IdiotBox;
#Dwarn [ $bucket->{videos}->flatten ];
Dwarn $bucket->{videos}->get({ slug => 'troll-god-mountain' });
+
+ok(1); # This even a test? -- alh
+
+done_testing;