Class: Federails::Maintenance::ActorsUpdater

Inherits:
Object
  • Object
show all
Defined in:
lib/federails/maintenance/actors_updater.rb

Class Method Summary collapse

Class Method Details

.run(actors = nil, &block) ⇒ Object

Fetches all distant actors again and update their local copy

A block can be passed with two arguments: the actor being updated and the update status

Examples:

Update all distant actors
  Federails::Maintenance::ActorUpdater.run
With an actor id:
  Federails::Maintenance::ActorUpdater.run 1
With a federated URL:
  Federails::Maintenance::ActorUpdater.run 'https://example.com/actor'
With a federated URL:
  Federails::Maintenance::ActorUpdater.run ['https://example.com/actors/1', 'https://example.com/actors/1']
With actors:
  Federails::Maintenance::ActorUpdater.run Federails::Actor.last(10)
Update all distant actors and puts status for each actor
  Federails::Maintenance::ActorUpdater.run {|actor, status| puts "#{actor.federated_url}: #{status}"}

Parameters:

  • actors (Integer, Federails::Actor, Array<Federails::Actor>, nil) (defaults to: nil)

    Actor ID, Actor or list of actors to update. If nothing is passed, all distant actors are processed



24
25
26
27
28
29
30
# File 'lib/federails/maintenance/actors_updater.rb', line 24

def run(actors = nil, &block)
  actors_list(actors).each do |actor|
    status = update(actor)

    yield(actor, status) if block
  end
end