name: VendorPublishCommand
class_comment: null
dependencies:
- name: Command
  type: class
  source: Illuminate\Console\Command
- name: Filesystem
  type: class
  source: Illuminate\Filesystem\Filesystem
- name: VendorTagPublished
  type: class
  source: Illuminate\Foundation\Events\VendorTagPublished
- name: Arr
  type: class
  source: Illuminate\Support\Arr
- name: ServiceProvider
  type: class
  source: Illuminate\Support\ServiceProvider
- name: Str
  type: class
  source: Illuminate\Support\Str
- name: Flysystem
  type: class
  source: League\Flysystem\Filesystem
- name: LocalAdapter
  type: class
  source: League\Flysystem\Local\LocalFilesystemAdapter
- name: MountManager
  type: class
  source: League\Flysystem\MountManager
- name: PortableVisibilityConverter
  type: class
  source: League\Flysystem\UnixVisibility\PortableVisibilityConverter
- name: Visibility
  type: class
  source: League\Flysystem\Visibility
- name: AsCommand
  type: class
  source: Symfony\Component\Console\Attribute\AsCommand
properties:
- name: files
  visibility: protected
  comment: '# * The filesystem instance.

    # *

    # * @var \Illuminate\Filesystem\Filesystem'
- name: provider
  visibility: protected
  comment: '# * The provider to publish.

    # *

    # * @var string'
- name: tags
  visibility: protected
  comment: '# * The tags to publish.

    # *

    # * @var array'
- name: publishedAt
  visibility: protected
  comment: '# * The time the command started.

    # *

    # * @var \Illuminate\Support\Carbon|null'
- name: signature
  visibility: protected
  comment: '# * The console command signature.

    # *

    # * @var string'
- name: description
  visibility: protected
  comment: '# * The console command description.

    # *

    # * @var string'
- name: updateMigrationDates
  visibility: protected
  comment: '# * Indicates if migration dates should be updated while publishing.

    # *

    # * @var bool'
methods:
- name: __construct
  visibility: public
  parameters:
  - name: files
  comment: "# * The filesystem instance.\n# *\n# * @var \\Illuminate\\Filesystem\\\
    Filesystem\n# */\n# protected $files;\n# \n# /**\n# * The provider to publish.\n\
    # *\n# * @var string\n# */\n# protected $provider = null;\n# \n# /**\n# * The\
    \ tags to publish.\n# *\n# * @var array\n# */\n# protected $tags = [];\n# \n#\
    \ /**\n# * The time the command started.\n# *\n# * @var \\Illuminate\\Support\\\
    Carbon|null\n# */\n# protected $publishedAt;\n# \n# /**\n# * The console command\
    \ signature.\n# *\n# * @var string\n# */\n# protected $signature = 'vendor:publish\n\
    # {--existing : Publish and overwrite only the files that have already been published}\n\
    # {--force : Overwrite any existing files}\n# {--all : Publish assets for all\
    \ service providers without prompt}\n# {--provider= : The service provider that\
    \ has assets you want to publish}\n# {--tag=* : One or many tags that have assets\
    \ you want to publish}';\n# \n# /**\n# * The console command description.\n# *\n\
    # * @var string\n# */\n# protected $description = 'Publish any publishable assets\
    \ from vendor packages';\n# \n# /**\n# * Indicates if migration dates should be\
    \ updated while publishing.\n# *\n# * @var bool\n# */\n# protected static $updateMigrationDates\
    \ = true;\n# \n# /**\n# * Create a new command instance.\n# *\n# * @param  \\\
    Illuminate\\Filesystem\\Filesystem  $files\n# * @return void"
- name: handle
  visibility: public
  parameters: []
  comment: '# * Execute the console command.

    # *

    # * @return void'
- name: determineWhatShouldBePublished
  visibility: protected
  parameters: []
  comment: '# * Determine the provider or tag(s) to publish.

    # *

    # * @return void'
- name: promptForProviderOrTag
  visibility: protected
  parameters: []
  comment: '# * Prompt for which provider or tag to publish.

    # *

    # * @return void'
- name: publishableChoices
  visibility: protected
  parameters: []
  comment: '# * The choices available via the prompt.

    # *

    # * @return array'
- name: parseChoice
  visibility: protected
  parameters:
  - name: choice
  comment: '# * Parse the answer that was given via the prompt.

    # *

    # * @param  string  $choice

    # * @return void'
- name: publishTag
  visibility: protected
  parameters:
  - name: tag
  comment: '# * Publishes the assets for a tag.

    # *

    # * @param  string  $tag

    # * @return mixed'
- name: pathsToPublish
  visibility: protected
  parameters:
  - name: tag
  comment: '# * Get all of the paths to publish.

    # *

    # * @param  string  $tag

    # * @return array'
- name: publishItem
  visibility: protected
  parameters:
  - name: from
  - name: to
  comment: '# * Publish the given item from and to the given location.

    # *

    # * @param  string  $from

    # * @param  string  $to

    # * @return void'
- name: publishFile
  visibility: protected
  parameters:
  - name: from
  - name: to
  comment: '# * Publish the file to the given path.

    # *

    # * @param  string  $from

    # * @param  string  $to

    # * @return void'
- name: publishDirectory
  visibility: protected
  parameters:
  - name: from
  - name: to
  comment: '# * Publish the directory to the given directory.

    # *

    # * @param  string  $from

    # * @param  string  $to

    # * @return void'
- name: moveManagedFiles
  visibility: protected
  parameters:
  - name: from
  - name: manager
  comment: '# * Move all the files in the given MountManager.

    # *

    # * @param  string  $from

    # * @param  \League\Flysystem\MountManager  $manager

    # * @return void'
- name: createParentDirectory
  visibility: protected
  parameters:
  - name: directory
  comment: '# * Create the directory to house the published files if needed.

    # *

    # * @param  string  $directory

    # * @return void'
- name: ensureMigrationNameIsUpToDate
  visibility: protected
  parameters:
  - name: from
  - name: to
  comment: '# * Ensure the given migration name is up-to-date.

    # *

    # * @param  string  $from

    # * @param  string  $to

    # * @return string'
- name: status
  visibility: protected
  parameters:
  - name: from
  - name: to
  - name: type
  comment: '# * Write a status message to the console.

    # *

    # * @param  string  $from

    # * @param  string  $to

    # * @param  string  $type

    # * @return void'
- name: dontUpdateMigrationDates
  visibility: public
  parameters: []
  comment: '# * Instruct the command to not update the dates on migrations when publishing.

    # *

    # * @return void'
traits:
- Illuminate\Console\Command
- Illuminate\Filesystem\Filesystem
- Illuminate\Foundation\Events\VendorTagPublished
- Illuminate\Support\Arr
- Illuminate\Support\ServiceProvider
- Illuminate\Support\Str
- League\Flysystem\MountManager
- League\Flysystem\UnixVisibility\PortableVisibilityConverter
- League\Flysystem\Visibility
- Symfony\Component\Console\Attribute\AsCommand
interfaces: []