Class: Specinfra::CommandRunner::Base
- Inherits:
-
Object
- Object
- Specinfra::CommandRunner::Base
- Defined in:
- lib/specinfra/command_runner/base.rb
Direct Known Subclasses
Instance Method Summary collapse
-
#check_command(*args) ⇒ Object
backend上でコマンドの実行結果のステータスコードが0かどうかを返す 以下のURLのコードとほぼ同じ github.com/itamae-kitchen/itamae/blob/v1.9.11/lib/itamae/resource/base.rb#L306.
-
#initialize ⇒ Base
constructor
A new instance of Base.
-
#run_command(*args) ⇒ Object
backend上でコマンドを実行するためのメソッド, 配列で指定する 以下のURLのコードとほぼ同じ github.com/itamae-kitchen/itamae/blob/v1.9.11/lib/itamae/resource/base.rb#L295.
-
#run_specinfra(type, *args) ⇒ Object
typeを指定してspecinfraを呼び出すためのメソッド 以下のURLのコードとほぼ同じ github.com/itamae-kitchen/itamae/blob/v1.9.11/lib/itamae/resource/base.rb#L316 typeにはsymbolを指定, 命名規則は以下のURLのmethを参照 github.com/mizzy/specinfra/blob/v2.72.1/lib/specinfra/command_factory.rb#L61.
-
#specinfra_command(type, *args) ⇒ Object
Specinfraのコマンドを文字列で返す.
Constructor Details
#initialize ⇒ Base
Returns a new instance of Base.
8 9 10 |
# File 'lib/specinfra/command_runner/base.rb', line 8 def initialize raise NotImplementedError end |
Instance Method Details
#check_command(*args) ⇒ Object
backend上でコマンドの実行結果のステータスコードが0かどうかを返す以下のURLのコードとほぼ同じgithub.com/itamae-kitchen/itamae/blob/v1.9.11/lib/itamae/resource/base.rb#L306
39 40 41 42 43 |
# File 'lib/specinfra/command_runner/base.rb', line 39 def check_command(*args) args << {} unless args.last.is_a?(Hash) args.last[:error] = false run_command(*args).exit_status == 0 end |
#run_command(*args) ⇒ Object
backend上でコマンドを実行するためのメソッド, 配列で指定する以下のURLのコードとほぼ同じgithub.com/itamae-kitchen/itamae/blob/v1.9.11/lib/itamae/resource/base.rb#L295
48 49 50 51 |
# File 'lib/specinfra/command_runner/base.rb', line 48 def run_command(*args) args << {} unless args.last.is_a?(Hash) @backend.run_command(*args) end |
#run_specinfra(type, *args) ⇒ Object
typeを指定してspecinfraを呼び出すためのメソッド以下のURLのコードとほぼ同じgithub.com/itamae-kitchen/itamae/blob/v1.9.11/lib/itamae/resource/base.rb#L316 typeにはsymbolを指定, 命名規則は以下のURLのmethを参照github.com/mizzy/specinfra/blob/v2.72.1/lib/specinfra/command_factory.rb#L61
17 18 19 20 21 22 23 24 25 26 27 28 29 |
# File 'lib/specinfra/command_runner/base.rb', line 17 def run_specinfra(type, *args) # 例えば以下のURLのcheck_is_ec2_instanceメソッドのコマンドを実行したい場合 # https://github.com/mizzy/specinfra/blob/v2.72.1/lib/specinfra/command/base/localhost.rb#L3 # typeには:check_localhost_is_ec2_instanceを指定する cmd = specinfra_command(type, *args) # typeにcheck_の文字が入っている場合check_commandを実行 if type.to_s.start_with?('check_') check_command(cmd) else run_command(cmd) end end |
#specinfra_command(type, *args) ⇒ Object
Specinfraのコマンドを文字列で返す
32 33 34 |
# File 'lib/specinfra/command_runner/base.rb', line 32 def specinfra_command(type, *args) raise NotImplementedError end |