class ModuleSync::Hook
Attributes
Public Class Methods
Source
# File lib/modulesync/hook.rb, line 9 def initialize(hook_file, options = []) @hook_file = hook_file @namespace = options[:namespace] @branch = options[:branch] @args = options[:hook_args] end
Public Instance Methods
Source
# File lib/modulesync/hook.rb, line 27 def activate hook_args = [] hook_args << "-n #{namespace}" if namespace hook_args << "-b #{branch}" if branch hook_args << args if args File.write(hook_file, content(hook_args.join(' '))) end
Source
# File lib/modulesync/hook.rb, line 16 def content(arguments) <<~CONTENT #!/usr/bin/env bash current_branch=`git symbolic-ref HEAD | sed -e 's,.*/(.*),\1,'` git_dir=`git rev-parse --show-toplevel` message=`git log -1 --format=%B` msync -m "$message" #{arguments} CONTENT end
Source
# File lib/modulesync/hook.rb, line 36 def deactivate FileUtils.rm_f(hook_file) end