Module: GDK::Hooks
- Defined in:
- lib/gdk/hooks.rb
Class Method Summary collapse
- .execute_hook_cmd(cmd, description) ⇒ Object
- .execute_hooks(hooks, description) ⇒ Object
- .with_hooks(hooks, name) ⇒ Object
Class Method Details
.execute_hook_cmd(cmd, description) ⇒ Object
21 22 23 24 25 26 27 28 29 30 31 32 33 |
# File 'lib/gdk/hooks.rb', line 21 def self.execute_hook_cmd(cmd, description) GDK::Output.abort("Cannot execute '#{description}' hook '#{cmd}' as it's invalid") unless cmd.is_a?(String) GDK::Output.info("#{description} hook -> #{cmd}") sh = Shellout.new(cmd, chdir: GDK.root) sh.stream raise HookCommandError, "'#{cmd}' has exited with code #{sh.exit_code}." unless sh.success? true rescue HookCommandError, Shellout::StreamCommandFailedError => e GDK::Output.abort(e., e) end |
.execute_hooks(hooks, description) ⇒ Object
13 14 15 16 17 18 19 |
# File 'lib/gdk/hooks.rb', line 13 def self.execute_hooks(hooks, description) hooks.each do |cmd| execute_hook_cmd(cmd, description) end true end |
.with_hooks(hooks, name) ⇒ Object
5 6 7 8 9 10 11 |
# File 'lib/gdk/hooks.rb', line 5 def self.with_hooks(hooks, name) execute_hooks(hooks[:before], "#{name}: before") result = block_given? ? yield : true execute_hooks(hooks[:after], "#{name}: after") result end |