Class: Pindo::Command
- Inherits:
-
CLAide::Command
- Object
- CLAide::Command
- Pindo::Command
- Includes:
- Funlog::Mixin, 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/jps/comment.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
初始化参数(便捷方法).
- #validate! ⇒ Object
Methods included from Funlog::Mixin
Methods included from Pindoconfig::Mixin
Constructor Details
#initialize(argv) ⇒ Command
Returns a new instance of Command.
124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 |
# File 'lib/pindo/command.rb', line 124 def initialize(argv) super @args_help_flag = argv.flag?('help', false) @args_verbose_flag = argv.flag?('verbose', false) # 检查是否是 help 请求(检查原始命令行参数) original_args = ARGV.join(' ') is_help_request = @args_help_flag || original_args.include?('--help') || original_args.include?('-h') || argv.remainder.include?('--help') || argv.remainder.include?('-h') # 设置全局 verbose 标志 ENV['PINDO_VERBOSE'] = '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.
49 50 51 |
# File 'lib/pindo/command.rb', line 49 def args_help_flag @args_help_flag end |
Class Method Details
.command_name ⇒ String
自动推导命令名称
64 65 66 67 68 69 70 71 |
# File 'lib/pindo/command.rb', line 64 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
107 108 109 110 111 112 113 |
# File 'lib/pindo/command.rb', line 107 def self. if root_command? DEFAULT_ROOT_OPTIONS + DEFAULT_OPTIONS else DEFAULT_OPTIONS end end |
.run(argv) ⇒ Object
120 121 122 |
# File 'lib/pindo/command.rb', line 120 def self.run(argv) super(argv) end |
.use_cache? ⇒ Boolean
缓存配置:子类可以重写此方法来启用缓存
58 59 60 |
# File 'lib/pindo/command.rb', line 58 def self.use_cache? false # 默认不使用缓存 end |
Instance Method Details
#initialize_options(argv, command_name: nil, directory: nil, enable_cache: nil) ⇒ OptionConfiguration
初始化参数(便捷方法)
79 80 81 82 83 84 85 86 87 88 |
# File 'lib/pindo/command.rb', line 79 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 |
#validate! ⇒ Object
115 116 117 118 |
# File 'lib/pindo/command.rb', line 115 def validate! super help! if args_help_flag? end |