Class: Pod::Command::Install

Inherits:
Pod::Command show all
Defined in:
lib/cocoapods-lockfile/command/patched_install.rb

Overview

TODO:

Create a PR to add your plugin to CocoaPods/cocoapods.org in the ‘plugins.json` file, once your plugin is released.

This is an example of a cocoapods plugin adding a top-level subcommand to the ‘pod’ command.

You can also create subcommands of existing or new commands. Say you wanted to add a subcommand to ‘list` to show newly deprecated pods, (e.g. `pod list deprecated`), there are a few things that would need to change.

  • move this file to ‘lib/pod/command/list/deprecated.rb` and update the class to exist in the the Pod::Command::List namespace

  • change this class to extend from ‘List` instead of `Command`. This tells the plugin system that it is a subcommand of `list`.

  • edit ‘lib/cocoapods_plugins.rb` to require this file

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(argv) ⇒ Install

Returns a new instance of Install.



33
34
35
36
# File 'lib/cocoapods-lockfile/command/patched_install.rb', line 33

def initialize(argv)
  original_initialize(argv)
  @generate_lockfile_only = argv.flag?("#{CocoapodsLockfile::FLAG_NAME}", false)
end

Class Method Details

.optionsObject



27
28
29
30
31
# File 'lib/cocoapods-lockfile/command/patched_install.rb', line 27

def self.options
  [
    ["--#{CocoapodsLockfile::FLAG_NAME}", "#{CocoapodsLockfile::FLAG_DESCRIPTION}"]
  ].concat(self.original_options)
end

Instance Method Details

#installer_for_configObject



38
39
40
41
42
# File 'lib/cocoapods-lockfile/command/patched_install.rb', line 38

def installer_for_config
  installer = original_installer_for_config
  installer.generate_lockfile_only = @generate_lockfile_only
  installer
end

#original_initializeObject



24
# File 'lib/cocoapods-lockfile/command/patched_install.rb', line 24

alias_method :original_initialize, :initialize

#original_installer_for_configObject



25
# File 'lib/cocoapods-lockfile/command/patched_install.rb', line 25

alias_method :original_installer_for_config, :installer_for_config