Module: Anvil::Task::Naming
- Included in:
- Anvil::Task, Callback
- Defined in:
- lib/anvil/task/naming.rb
Overview
Methods for inferring task class names from cli arguments
Instance Method Summary collapse
- #description(str = nil) ⇒ Object
-
#from_name(task_name) ⇒ Class
Returns a ruby class from a CLI name.
- #get_namespace(task_name) ⇒ Object
- #task_name ⇒ Object
Instance Method Details
#description(str = nil) ⇒ Object
27 28 29 30 |
# File 'lib/anvil/task/naming.rb', line 27 def description(str = nil) return @description unless str @description = str end |
#from_name(task_name) ⇒ Class
Returns a ruby class from a CLI name
15 16 17 18 19 20 21 |
# 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) ⇒ Object
7 8 9 |
# File 'lib/anvil/task/naming.rb', line 7 def get_namespace(task_name) task_name.to_s.split ':' end |
#task_name ⇒ Object
23 24 25 |
# File 'lib/anvil/task/naming.rb', line 23 def task_name name[/(.*)Task/, 1].underscore.gsub('/', ':') end |