Skip to content

Commit 3421d9d

Browse files
committed
Use PortableVisibilityConverter for LocalAdapter
1 parent 3efc53d commit 3421d9d

2 files changed

Lines changed: 15 additions & 9 deletions

File tree

src/Adapter/Builder/LocalAdapterDefinitionBuilder.php

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
namespace League\FlysystemBundle\Adapter\Builder;
1313

1414
use League\Flysystem\Local\LocalFilesystemAdapter;
15+
use League\Flysystem\UnixVisibility\PortableVisibilityConverter;
1516
use Symfony\Component\DependencyInjection\Definition;
1617
use Symfony\Component\OptionsResolver\OptionsResolver;
1718

@@ -66,8 +67,13 @@ protected function configureDefinition(Definition $definition, array $options)
6667
{
6768
$definition->setClass(LocalFilesystemAdapter::class);
6869
$definition->setArgument(0, $options['directory']);
69-
$definition->setArgument(1, $options['lock']);
70-
$definition->setArgument(2, $options['skip_links'] ? LocalFilesystemAdapter::SKIP_LINKS : LocalFilesystemAdapter::DISALLOW_LINKS);
71-
$definition->setArgument(3, $options['permissions']);
70+
$definition->setArgument(1,
71+
(new Definition(PortableVisibilityConverter::class))
72+
->setFactory([PortableVisibilityConverter::class, 'fromArray'])
73+
->addArgument($options['permissions'])
74+
->setShared(false)
75+
);
76+
$definition->setArgument(2, $options['lock']);
77+
$definition->setArgument(3, $options['skip_links'] ? LocalFilesystemAdapter::SKIP_LINKS : LocalFilesystemAdapter::DISALLOW_LINKS);
7278
}
7379
}

tests/Adapter/Builder/LocalAdapterDefinitionBuilderTest.php

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -85,11 +85,11 @@ public function testOptionsBehavior()
8585
{
8686
$permissions = [
8787
'file' => [
88-
'public' => 0755,
89-
'private' => 0755,
88+
'public' => 0666,
89+
'private' => 0644,
9090
],
9191
'dir' => [
92-
'public' => 0755,
92+
'public' => 0777,
9393
'private' => 0755,
9494
],
9595
];
@@ -103,8 +103,8 @@ public function testOptionsBehavior()
103103

104104
$this->assertSame(LocalFilesystemAdapter::class, $definition->getClass());
105105
$this->assertSame(__DIR__, $definition->getArgument(0));
106-
$this->assertSame(LOCK_EX, $definition->getArgument(1));
107-
$this->assertSame(LocalFilesystemAdapter::SKIP_LINKS, $definition->getArgument(2));
108-
$this->assertSame($permissions, $definition->getArgument(3));
106+
$this->assertSame($permissions, $definition->getArgument(1)->getArgument(0));
107+
$this->assertSame(LOCK_EX, $definition->getArgument(2));
108+
$this->assertSame(LocalFilesystemAdapter::SKIP_LINKS, $definition->getArgument(3));
109109
}
110110
}

0 commit comments

Comments
 (0)