Class: ModuleSync::Hook
- Inherits:
-
Object
- Object
- ModuleSync::Hook
- Defined in:
- lib/modulesync/hook.rb
Instance Attribute Summary collapse
-
#args ⇒ Object
readonly
Returns the value of attribute args.
-
#branch ⇒ Object
readonly
Returns the value of attribute branch.
-
#hook_file ⇒ Object
readonly
Returns the value of attribute hook_file.
-
#namespace ⇒ Object
readonly
Returns the value of attribute namespace.
Instance Method Summary collapse
- #activate ⇒ Object
- #content(arguments) ⇒ Object
- #deactivate ⇒ Object
-
#initialize(hook_file, options = []) ⇒ Hook
constructor
A new instance of Hook.
Constructor Details
#initialize(hook_file, options = []) ⇒ Hook
Returns a new instance of Hook.
7 8 9 10 11 12 |
# File 'lib/modulesync/hook.rb', line 7 def initialize(hook_file, = []) @hook_file = hook_file @namespace = [:namespace] @branch = [:branch] @args = [:hook_args] end |
Instance Attribute Details
#args ⇒ Object (readonly)
Returns the value of attribute args.
5 6 7 |
# File 'lib/modulesync/hook.rb', line 5 def args @args end |
#branch ⇒ Object (readonly)
Returns the value of attribute branch.
5 6 7 |
# File 'lib/modulesync/hook.rb', line 5 def branch @branch end |
#hook_file ⇒ Object (readonly)
Returns the value of attribute hook_file.
5 6 7 |
# File 'lib/modulesync/hook.rb', line 5 def hook_file @hook_file end |
#namespace ⇒ Object (readonly)
Returns the value of attribute namespace.
5 6 7 |
# File 'lib/modulesync/hook.rb', line 5 def namespace @namespace end |
Instance Method Details
#activate ⇒ Object
25 26 27 28 29 30 31 32 |
# 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.write(hook_file, content(hook_args.join(' '))) end |
#content(arguments) ⇒ Object
14 15 16 17 18 19 20 21 22 23 |
# 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 ⇒ Object
34 35 36 |
# File 'lib/modulesync/hook.rb', line 34 def deactivate FileUtils.rm_f(hook_file) end |