Class: SimpleMapReduce::Server::Worker

Inherits:
Object
  • Object
show all
Extended by:
Forwardable
Includes:
AASM
Defined in:
lib/simple_map_reduce/server/worker.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(url:) ⇒ Worker

Returns a new instance of Worker.



36
37
38
39
40
41
# File 'lib/simple_map_reduce/server/worker.rb', line 36

def initialize(url:)
  @url = url
  unless valid?
    raise ArgumentError, 'invalid url'
  end
end

Instance Attribute Details

#urlObject

Returns the value of attribute url.



13
14
15
# File 'lib/simple_map_reduce/server/worker.rb', line 13

def url
  @url
end

Instance Method Details

#dumpObject



47
48
49
50
51
52
53
# File 'lib/simple_map_reduce/server/worker.rb', line 47

def dump
  {
    id: id,
    url: @url,
    state: state
  }
end

#idObject



43
44
45
# File 'lib/simple_map_reduce/server/worker.rb', line 43

def id
  @id ||= SecureRandom.uuid
end

#update!(url: nil, event: nil) ⇒ Object

update Job



59
60
61
62
63
64
65
66
67
# File 'lib/simple_map_reduce/server/worker.rb', line 59

def update!(url: nil, event: nil)
  if url
    self.url = url
  end

  if event
    public_send(event.to_sym)
  end
end