module Anvil::Task::Naming
Methods for inferring task class names from cli arguments
Public Instance Methods
description(str = nil)
click to toggle source
# File lib/anvil/task/naming.rb, line 27 def description(str = nil) return @description unless str @description = str end
from_name(task_name)
click to toggle source
Returns a ruby class from a CLI name
@param task_name
[String] the CLI name for a task e.g. anvil:build @return [Class] an {Anvil::Task} descendant
# File lib/anvil/task/naming.rb, line 15 def from_name(task_name) namespaced_task = get_namespace task_name camelized_task = "#{namespaced_task.pop}_task".camelize camelized_namespace = "#{namespaced_task.shift}".camelize "#{camelized_namespace}::#{camelized_task}".constantize end
get_namespace(task_name)
click to toggle source
# File lib/anvil/task/naming.rb, line 7 def get_namespace(task_name) task_name.to_s.split ':' end
task_name()
click to toggle source
# File lib/anvil/task/naming.rb, line 23 def task_name name[/(.*)Task/, 1].underscore.gsub('/', ':') end