Class: GitMulticast::Multicaster

Inherits:
Object
  • Object
show all
Defined in:
lib/git_multicast/multicaster.rb,
lib/git_multicast/multicaster/pull.rb,
lib/git_multicast/multicaster/clone.rb,
lib/git_multicast/multicaster/status.rb,
lib/git_multicast/multicaster/generic.rb

Direct Known Subclasses

Clone, Generic, Status

Defined Under Namespace

Classes: Clone, Generic, Pull, Status

Instance Method Summary collapse

Constructor Details

#initialize(formatter) ⇒ Multicaster

Returns a new instance of Multicaster.



8
9
10
# File 'lib/git_multicast/multicaster.rb', line 8

def initialize(formatter)
  @formatter = formatter
end

Instance Method Details

#execute!Object



12
13
14
15
16
17
18
# File 'lib/git_multicast/multicaster.rb', line 12

def execute!
  Task::Runner
    .new(tasks)
    .run!
    .map(&method(:format))
    .reduce('', &:+)
end

#format(task_result) ⇒ Object



24
25
26
# File 'lib/git_multicast/multicaster.rb', line 24

def format(task_result)
  formatter.format(task_result)
end

#tasksObject



20
21
22
# File 'lib/git_multicast/multicaster.rb', line 20

def tasks
  fail NotImplementedError
end