Class: Dsu::Presenters::Project::RenameByNumberPresenter
- Inherits:
-
BasePresenterEx
- Object
- BasePresenterEx
- Dsu::Presenters::Project::RenameByNumberPresenter
- Defined in:
- lib/dsu/presenters/project/rename_by_number_presenter.rb
Instance Attribute Summary collapse
-
#project_number ⇒ Object
readonly
Returns the value of attribute project_number.
Instance Method Summary collapse
-
#initialize(project_number:, new_project_name:, new_project_description:, options: {}) ⇒ RenameByNumberPresenter
constructor
A new instance of RenameByNumberPresenter.
- #new_project_already_exists? ⇒ Boolean
- #new_project_description ⇒ Object
- #new_project_errors ⇒ Object
- #new_project_name ⇒ Object
- #project_does_not_exist? ⇒ Boolean
- #respond(response:) ⇒ Object
Constructor Details
#initialize(project_number:, new_project_name:, new_project_description:, options: {}) ⇒ RenameByNumberPresenter
Returns a new instance of RenameByNumberPresenter.
14 15 16 17 18 19 20 21 22 23 24 25 26 |
# File 'lib/dsu/presenters/project/rename_by_number_presenter.rb', line 14 def initialize(project_number:, new_project_name:, new_project_description:, options: {}) super(options: ) raise ArgumentError, 'project_number is blank' if project_number.blank? raise ArgumentError, 'new_project_name is blank' if new_project_name.blank? @project_number = project_number @project = Models::Project.find_by_number(project_number: project_number) @new_project = Models::Project.new(project_name: new_project_name.strip, description: new_project_description&.strip, options: ).tap(&:validate) end |
Instance Attribute Details
#project_number ⇒ Object (readonly)
Returns the value of attribute project_number.
12 13 14 |
# File 'lib/dsu/presenters/project/rename_by_number_presenter.rb', line 12 def project_number @project_number end |
Instance Method Details
#new_project_already_exists? ⇒ Boolean
41 42 43 |
# File 'lib/dsu/presenters/project/rename_by_number_presenter.rb', line 41 def new_project_already_exists? new_project.exist? end |
#new_project_description ⇒ Object
49 50 51 |
# File 'lib/dsu/presenters/project/rename_by_number_presenter.rb', line 49 def new_project_description new_project.description end |
#new_project_errors ⇒ Object
53 54 55 |
# File 'lib/dsu/presenters/project/rename_by_number_presenter.rb', line 53 def new_project_errors new_project.errors. end |
#new_project_name ⇒ Object
45 46 47 |
# File 'lib/dsu/presenters/project/rename_by_number_presenter.rb', line 45 def new_project_name new_project.project_name end |
#project_does_not_exist? ⇒ Boolean
35 36 37 38 39 |
# File 'lib/dsu/presenters/project/rename_by_number_presenter.rb', line 35 def project_does_not_exist? return true unless project.present? !project.exist? end |
#respond(response:) ⇒ Object
28 29 30 31 32 33 |
# File 'lib/dsu/presenters/project/rename_by_number_presenter.rb', line 28 def respond(response:) return false unless response return false if new_project.invalid? project.rename!(new_project_name: new_project_name, new_project_description: new_project_description) end |