Class: Todos::Commands::GeneralCommands::AddTask

Inherits:
Object
  • Object
show all
Defined in:
lib/todos_cli.rb

Constant Summary collapse

KEY =
'a'
DESCRIPTION =
'Add new task'
REQUIRED_ATTRIBUTES =
[:description, :priority]
SUCCESS_MESSAGE =
'Task created'
FAIL_MESSAGE =
'Could not create task'

Class Method Summary collapse

Class Method Details

.executeObject



107
108
109
110
111
112
113
# File 'lib/todos_cli.rb', line 107

def self.execute
  params = Asker.multi(REQUIRED_ATTRIBUTES)
  Task.association_reflections.each do |k, v|
    params.merge!(v[:key] => const_get(v[:class_name]).find_or_create(:name => Asker.ask(k)).id)
  end
  puts Task.insert(params).zero? ? FAIL_MESSAGE: SUCCESS_MESSAGE
end