Class: CLIClassTool::Common
- Inherits:
-
Object
- Object
- CLIClassTool::Common
- Defined in:
- lib/cli_class_tool/common.rb
Overview
Common utility class providing logging, configuration, and shell execution methods
Constant Summary collapse
- ACTION_LIST =
List of available actions for this class
[ :list_actions ]
- ACTION_HELP =
Help text for actions
{}
Class Method Summary collapse
-
.inherited(subclass) ⇒ Object
Hook to enforce namespace loading at load time.
Instance Method Summary collapse
-
#list_actions(opts) ⇒ Integer
List available actions.
-
#run(cmd, check_err = true) ⇒ String
Run a shell command.
-
#runGit(cmd, opts = {}, check_err = true) ⇒ String
Run a git command.
-
#runGitInteractive(cmd, opts = {}, check_err = true) ⇒ Boolean
Run a git command interactively.
-
#runSystem(cmd, check_err = true) ⇒ Boolean
Run a shell command using system() (interactive).
Class Method Details
.inherited(subclass) ⇒ Object
Hook to enforce namespace loading at load time
7 8 9 10 11 12 13 14 |
# File 'lib/cli_class_tool/common.rb', line 7 def self.inherited(subclass) if subclass.name parts = subclass.name.to_s.split('::') if parts.size <= 1 raise "CLIClassTool action classes must be defined within a named module/class namespace" end end end |
Instance Method Details
#list_actions(opts) ⇒ Integer
List available actions
184 185 186 187 |
# File 'lib/cli_class_tool/common.rb', line 184 def list_actions(opts) puts parent_module.getActionAttr("ACTION_LIST").map(){|x| parent_module.actionToString(x)}.join("\n") return 0 end |
#run(cmd, check_err = true) ⇒ String
Run a shell command
132 133 134 135 136 137 |
# File 'lib/cli_class_tool/common.rb', line 132 def run(cmd, check_err = true) cmd_debug('', cmd) ret = `cd #{@path} && #{cmd}`.chomp() abort_if_err(check_err, $?, ret) return ret end |
#runGit(cmd, opts = {}, check_err = true) ⇒ String
Run a git command
159 160 161 162 163 164 |
# File 'lib/cli_class_tool/common.rb', line 159 def runGit(cmd, opts={}, check_err = true) cmd_debug('git', cmd) ret = `cd #{@path} && #{opts[:env]} git #{cmd}`.chomp() abort_if_err(check_err, $?, ret) return ret end |
#runGitInteractive(cmd, opts = {}, check_err = true) ⇒ Boolean
Run a git command interactively
173 174 175 176 177 178 |
# File 'lib/cli_class_tool/common.rb', line 173 def runGitInteractive(cmd, opts={}, check_err = true) cmd_debug('git interactive', cmd) ret = system("cd #{@path} && #{opts[:env]} git #{cmd}") abort_if_err(check_err, $?) return ret end |
#runSystem(cmd, check_err = true) ⇒ Boolean
Run a shell command using system() (interactive)
145 146 147 148 149 150 |
# File 'lib/cli_class_tool/common.rb', line 145 def runSystem(cmd, check_err = true) cmd_debug('interactive', cmd) ret = system("cd #{@path} && #{cmd}") abort_if_err(check_err, $?) return ret end |