Class: DockerSync::WatchStrategy::Unison

Inherits:
Object
  • Object
show all
Includes:
Execution
Defined in:
lib/docker-sync/watch_strategy/unison.rb

Instance Method Summary collapse

Methods included from Execution

#fork_exec, #thread_exec, #with_time

Constructor Details

#initialize(sync_name, options) ⇒ Unison

Returns a new instance of Unison.



14
15
16
17
18
19
20
21
22
23
# File 'lib/docker-sync/watch_strategy/unison.rb', line 14

def initialize(sync_name, options)
  @options = options
  @sync_name = sync_name
  @watch_fork = nil
  # instantiate the sync task to easily access all common parameters between
  # unison sync and watch
  # basically unison watch is the command with the additionnal -repeat watch option
  # note: this doesn't run a sync
  @unison = DockerSync::SyncStrategy::Unison.new(@sync_name, @options)
end

Instance Method Details

#cleanObject



37
38
# File 'lib/docker-sync/watch_strategy/unison.rb', line 37

def clean
end

#runObject



25
26
27
# File 'lib/docker-sync/watch_strategy/unison.rb', line 25

def run
  @watch_fork = @unison.watch
end

#stopObject



29
30
31
32
33
34
35
# File 'lib/docker-sync/watch_strategy/unison.rb', line 29

def stop
  # Make sure @watch_fork is not nil otherwise a TypeError is thrown
  if @watch_fork
    Process.kill 'TERM', @watch_fork
    Process.wait @watch_fork
  end
end

#watchObject



40
41
# File 'lib/docker-sync/watch_strategy/unison.rb', line 40

def watch
end

#watch_forkObject



46
47
48
# File 'lib/docker-sync/watch_strategy/unison.rb', line 46

def watch_fork
  return @watch_fork
end

#watch_optionsObject



43
44
# File 'lib/docker-sync/watch_strategy/unison.rb', line 43

def watch_options
end

#watch_threadObject



50
51
52
# File 'lib/docker-sync/watch_strategy/unison.rb', line 50

def watch_thread
  return nil
end