Module: Serially

Defined in:
lib/serially/job.rb,
lib/serially/base.rb,
lib/serially/task.rb,
lib/serially/errors.rb,
lib/serially/options.rb,
lib/serially/version.rb,
lib/serially/serially.rb,
lib/serially/task_run.rb,
lib/serially/task_runner.rb,
lib/serially/task_manager.rb,
lib/serially/instance_base.rb,
lib/serially/task_run_writer.rb,
lib/generators/serially/install/install_generator.rb

Defined Under Namespace

Modules: ClassMethods, Generators Classes: ArgumentError, Base, ConfigurationError, GlobalOptions, InstanceBase, Job, NotSupportedError, Options, Task, TaskManager, TaskOptions, TaskRun, TaskRunWriter, TaskRunner

Constant Summary collapse

VERSION =
"0.4.3"

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.included(receiver) ⇒ Object



3
4
5
6
7
8
# File 'lib/serially/serially.rb', line 3

def self.included(receiver)
  receiver.extend Serially::ClassMethods
  # remove any task_manager that might have been inherited - inclusion takes precedence
  Serially::TaskManager[receiver] = nil
  super
end

Instance Method Details

#instance_idObject

override this to provide a custom way of fetching id of your class’ instance



77
78
79
80
81
82
83
# File 'lib/serially/serially.rb', line 77

def instance_id
  if self.respond_to?(:id)
    self.id
  else
    raise Serially::ArgumentError.new("Serially: default implementation of ::instance_id is not defined for plain Ruby class, please provide one")
  end
end

#seriallyObject

this is the entry point for all instance-level access to Serially



72
73
74
# File 'lib/serially/serially.rb', line 72

def serially
  @serially ||= Serially::InstanceBase.new(self)
end