Class: Pindo::Command
- Inherits:
-
CLAide::Command
- Object
- CLAide::Command
- Pindo::Command
- Includes:
- Funlog::Mixin, HelpValidator, Pindoconfig::Mixin
- Defined in:
- lib/pindo/command.rb,
lib/pindo/command/env.rb,
lib/pindo/command/ios.rb,
lib/pindo/command/jps.rb,
lib/pindo/command/web.rb,
lib/pindo/command/repo.rb,
lib/pindo/command/gplay.rb,
lib/pindo/command/setup.rb,
lib/pindo/command/unity.rb,
lib/pindo/command/utils.rb,
lib/pindo/command/android.rb,
lib/pindo/command/web/run.rb,
lib/pindo/command/appstore.rb,
lib/pindo/command/ios/cert.rb,
lib/pindo/command/jps/bind.rb,
lib/pindo/command/gplay/iap.rb,
lib/pindo/command/ios/build.rb,
lib/pindo/command/jps/login.rb,
lib/pindo/command/jps/media.rb,
lib/pindo/command/utils/tag.rb,
lib/pindo/command/jps/resign.rb,
lib/pindo/command/jps/upload.rb,
lib/pindo/command/repo/clone.rb,
lib/pindo/command/repo/login.rb,
lib/pindo/command/utils/boss.rb,
lib/pindo/command/utils/icon.rb,
lib/pindo/command/ios/fixproj.rb,
lib/pindo/command/ios/podlint.rb,
lib/pindo/command/ios/podpush.rb,
lib/pindo/command/jps/apptest.rb,
lib/pindo/command/repo/create.rb,
lib/pindo/command/repo/search.rb,
lib/pindo/command/utils/tgate.rb,
lib/pindo/command/appstore/iap.rb,
lib/pindo/command/appstore/pem.rb,
lib/pindo/command/appstore/tag.rb,
lib/pindo/command/env/quarkenv.rb,
lib/pindo/command/env/swarkenv.rb,
lib/pindo/command/env/workhard.rb,
lib/pindo/command/gplay/itcapp.rb,
lib/pindo/command/gplay/upload.rb,
lib/pindo/command/ios/applovin.rb,
lib/pindo/command/jps/download.rb,
lib/pindo/command/utils/device.rb,
lib/pindo/command/utils/fabric.rb,
lib/pindo/command/appstore/cert.rb,
lib/pindo/command/ios/autobuild.rb,
lib/pindo/command/ios/podupdate.rb,
lib/pindo/command/web/autobuild.rb,
lib/pindo/command/gplay/metadata.rb,
lib/pindo/command/ios/autoresign.rb,
lib/pindo/command/unity/packinit.rb,
lib/pindo/command/unity/packpush.rb,
lib/pindo/command/utils/repoinit.rb,
lib/pindo/command/utils/xcassets.rb,
lib/pindo/command/appstore/itcapp.rb,
lib/pindo/command/appstore/upload.rb,
lib/pindo/command/env/dreamstudio.rb,
lib/pindo/command/unity/autobuild.rb,
lib/pindo/command/unity/packbuild.rb,
lib/pindo/command/utils/clearcert.rb,
lib/pindo/command/utils/renewcert.rb,
lib/pindo/command/utils/renewproj.rb,
lib/pindo/command/android/keystore.rb,
lib/pindo/command/appstore/itcinfo.rb,
lib/pindo/command/appstore/quswark.rb,
lib/pindo/command/gplay/pullconfig.rb,
lib/pindo/command/android/autobuild.rb,
lib/pindo/command/appstore/bundleid.rb,
lib/pindo/command/appstore/metadata.rb,
lib/pindo/command/appstore/quswauth.rb,
lib/pindo/command/gplay/screenshots.rb,
lib/pindo/command/android/autoresign.rb,
lib/pindo/command/appstore/autobuild.rb,
lib/pindo/command/utils/updateconfig.rb,
lib/pindo/command/appstore/adhocbuild.rb,
lib/pindo/command/appstore/autoresign.rb,
lib/pindo/command/appstore/configproj.rb,
lib/pindo/command/appstore/getitcinfo.rb,
lib/pindo/command/appstore/initconfig.rb,
lib/pindo/command/appstore/pullconfig.rb,
lib/pindo/command/appstore/screenshots.rb
Defined Under Namespace
Classes: Android, Appstore, Env, Gplay, Ios, Jps, Repo, Setup, Unity, Utils, Web
Constant Summary collapse
- DEFAULT_ROOT_OPTIONS =
[ ['--version', '查看pindo版本'], ]
- DEFAULT_OPTIONS =
[ ['--help', '查看命令行用法'], ['--verbose', '显示详细的调试信息'], ]
Instance Attribute Summary collapse
-
#args_help_flag ⇒ Object
(also: #args_help_flag?)
Returns the value of attribute args_help_flag.
Class Method Summary collapse
-
.command_name ⇒ String
自动推导命令名称.
-
.options ⇒ Object
].concat(super) end.
- .run(argv) ⇒ Object
-
.use_cache? ⇒ Boolean
缓存配置:子类可以重写此方法来启用缓存.
Instance Method Summary collapse
-
#initialize(argv) ⇒ Command
constructor
A new instance of Command.
-
#initialize_options(argv, command_name: nil, directory: nil, enable_cache: nil) ⇒ OptionConfiguration
初始化参数(便捷方法).
Methods included from Funlog::Mixin
Methods included from Pindoconfig::Mixin
Methods included from HelpValidator
Constructor Details
#initialize(argv) ⇒ Command
Returns a new instance of Command.
127 128 129 130 131 132 133 134 135 136 137 138 139 140 |
# File 'lib/pindo/command.rb', line 127 def initialize(argv) super # 检查是否是 help 请求 # CLAide 可能提前处理了 --help,所以我们需要检查原始参数 @args_help_flag = argv.flag?('help', false) || ARGV.include?('--help') || ARGV.include?('-h') @args_verbose_flag = argv.flag?('verbose', false) # 设置全局 verbose 标志 ENV['PINDO_DEBUG'] = '1' if @args_verbose_flag end |
Instance Attribute Details
#args_help_flag ⇒ Object Also known as: args_help_flag?
Returns the value of attribute args_help_flag.
57 58 59 |
# File 'lib/pindo/command.rb', line 57 def args_help_flag @args_help_flag end |
Class Method Details
.command_name ⇒ String
自动推导命令名称
72 73 74 75 76 77 78 79 |
# File 'lib/pindo/command.rb', line 72 def self.command_name @command_name ||= begin # 从类名推导,例如: # Pindo::Command::Ios::Autobuild → ['Ios', 'Autobuild'] → 'ios:autobuild' parts = name.split('::').drop(2) # 去掉 'Pindo' 和 'Command' parts.map(&:downcase).join(':') end end |
.options ⇒ Object
].concat(super) end
115 116 117 118 119 120 121 |
# File 'lib/pindo/command.rb', line 115 def self. if root_command? DEFAULT_ROOT_OPTIONS + DEFAULT_OPTIONS else DEFAULT_OPTIONS end end |
.run(argv) ⇒ Object
123 124 125 |
# File 'lib/pindo/command.rb', line 123 def self.run(argv) super(argv) end |
.use_cache? ⇒ Boolean
缓存配置:子类可以重写此方法来启用缓存
66 67 68 |
# File 'lib/pindo/command.rb', line 66 def self.use_cache? false # 默认不使用缓存 end |
Instance Method Details
#initialize_options(argv, command_name: nil, directory: nil, enable_cache: nil) ⇒ OptionConfiguration
初始化参数(便捷方法)
87 88 89 90 91 92 93 94 95 96 |
# File 'lib/pindo/command.rb', line 87 def (argv, command_name: nil, directory: nil, enable_cache: nil) Pindo::Options::OptionInitializer.initialize( self, argv, self.class.option_items, command_name || self.class.command_name, directory: directory, enable_cache: enable_cache.nil? ? self.class.use_cache? : enable_cache ) end |