Class: Dsu::Subcommands::Project
Instance Method Summary
collapse
#ask_while, #yes?
Methods inherited from BaseCLI
date_option_description, exit_on_failure?, #initialize, mnemonic_option_description
#sorted_dsu_times_for, #times_for, #times_sort
included
included
apply_theme, #prompt_with_options
Constructor Details
This class inherits a constructor from Dsu::BaseCLI
Instance Method Details
#create(project_name = nil, description = nil) ⇒ Object
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
# File 'lib/dsu/subcommands/project.rb', line 26
def create(project_name = nil, description = nil)
project_name = project_name.to_s.strip
description = description.to_s.strip
if project_name.blank?
return Views::Shared::Error.new(
messages: I18n.t('subcommands.project.messages.project_name_blank')
).render
end
options = configuration.to_h.merge(self.options).with_indifferent_access
presenter = Presenters::Project::CreatePresenter.new(project_name: project_name,
description: description, options: options)
Views::Project::Create.new(presenter: presenter, options: options).render
end
|
#delete(project_name_or_number = nil) ⇒ Object
43
44
45
46
47
|
# File 'lib/dsu/subcommands/project.rb', line 43
def delete(project_name_or_number = nil)
options = configuration.to_h.merge(self.options).with_indifferent_access
presenter = delete_presenter_for(project_name_or_number, options: options)
delete_view_for(project_name_or_number, presenter: presenter, options: options).render
end
|
#list ⇒ Object
51
52
53
54
55
|
# File 'lib/dsu/subcommands/project.rb', line 51
def list
options = configuration.to_h.merge(self.options).with_indifferent_access
presenter = Presenters::Project::ListPresenter.new(options: options)
Views::Project::List.new(presenter: presenter, options: options).render
end
|
#rename(project_name_or_number = nil, new_project_name = nil, new_project_description = nil) ⇒ Object
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
|
# File 'lib/dsu/subcommands/project.rb', line 59
def rename(project_name_or_number = nil, new_project_name = nil, new_project_description = nil)
project_name_or_number = project_name_or_number.to_s.strip
new_project_name = new_project_name&.to_s&.strip
new_project_description = new_project_description&.to_s&.strip
if new_project_name.blank?
return Views::Shared::Error.new(
messages: I18n.t('subcommands.project.messages.new_project_name_blank')
).render
end
options = configuration.to_h.merge(self.options).with_indifferent_access
presenter = rename_presenter_for(project_name_or_number, new_project_name: new_project_name,
new_project_description: new_project_description, options: options)
rename_view_for(project_name_or_number, presenter: presenter, options: options).render
end
|
#use(project_name_or_number = nil) ⇒ Object
80
81
82
83
84
|
# File 'lib/dsu/subcommands/project.rb', line 80
def use(project_name_or_number = nil)
options = configuration.to_h.merge(self.options).with_indifferent_access
presenter = use_presenter_for(project_name_or_number, options: options)
use_view_for(project_name_or_number, presenter: presenter, options: options).render
end
|