class ModuleSync::Hook

Attributes

args[R]
branch[R]
hook_file[R]
namespace[R]

Public Class Methods

new(hook_file, options = []) click to toggle source
# File lib/modulesync/hook.rb, line 7
def initialize(hook_file, options = [])
  @hook_file = hook_file
  @namespace = options['namespace']
  @branch = options['branch']
  @args = options['hook_args']
end

Public Instance Methods

activate() click to toggle source
# File lib/modulesync/hook.rb, line 25
def activate
  hook_args = []
  hook_args << "-n #{namespace}" if namespace
  hook_args << "-b #{branch}" if branch
  hook_args << args if args

  File.open(hook_file, 'w') do |file|
    file.write(content(hook_args.join(' ')))
  end
end
content(arguments) click to toggle source
# File lib/modulesync/hook.rb, line 14
    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
deactivate() click to toggle source
# File lib/modulesync/hook.rb, line 36
def deactivate
  File.delete(hook_file) if File.exist?(hook_file)
end