Class: DeploymentTask::Registry
- Inherits:
-
Object
- Object
- DeploymentTask::Registry
- Defined in:
- lib/deployment_task/registry.rb
Constant Summary collapse
- VERSION_FORMAT =
/\A\d{14}\z/
Class Method Summary collapse
- .all_tasks ⇒ Object
- .load_tasks! ⇒ Object
- .register(task_class) ⇒ Object
- .reset! ⇒ Object
- .tasks_for_phase(phase) ⇒ Object
Class Method Details
.all_tasks ⇒ Object
22 23 24 25 |
# File 'lib/deployment_task/registry.rb', line 22 def all_tasks validate_all! registry.sort_by { |version, _| version }.map { |_, entry| entry } end |
.load_tasks! ⇒ Object
33 34 35 36 37 |
# File 'lib/deployment_task/registry.rb', line 33 def load_tasks! task_dir = DeploymentTask.configuration.task_directory full_path = defined?(Rails) ? Rails.root.join(task_dir) : Pathname.new(task_dir) Dir[full_path.join("**/*.rb")].sort.each { |f| require f } end |
.register(task_class) ⇒ Object
10 11 12 |
# File 'lib/deployment_task/registry.rb', line 10 def register(task_class) registered_classes << task_class end |
.reset! ⇒ Object
27 28 29 30 31 |
# File 'lib/deployment_task/registry.rb', line 27 def reset! @registry = nil @registered_classes = nil @validated = false end |
.tasks_for_phase(phase) ⇒ Object
14 15 16 17 18 19 20 |
# File 'lib/deployment_task/registry.rb', line 14 def tasks_for_phase(phase) validate_all! registry .select { |_version, entry| entry[:phase] == phase.to_sym } .sort_by { |version, _entry| version } .map { |_version, entry| entry[:task_class] } end |