mirror of
https://github.com/TracksApp/tracks.git
synced 2025-12-16 23:30:12 +01:00
28 lines
425 B
Ruby
28 lines
425 B
Ruby
|
|
class ProjectFromTodo
|
||
|
|
attr_reader :todo
|
||
|
|
|
||
|
|
def initialize(todo)
|
||
|
|
@todo = todo
|
||
|
|
end
|
||
|
|
|
||
|
|
def create
|
||
|
|
project = build_project
|
||
|
|
|
||
|
|
if project.valid?
|
||
|
|
todo.destroy
|
||
|
|
project.save!
|
||
|
|
end
|
||
|
|
|
||
|
|
project
|
||
|
|
end
|
||
|
|
|
||
|
|
def build_project
|
||
|
|
project = Project.new.tap do |p|
|
||
|
|
p.name = todo.description
|
||
|
|
p.description = todo.notes
|
||
|
|
p.default_context = todo.context
|
||
|
|
p.user = todo.user
|
||
|
|
end
|
||
|
|
end
|
||
|
|
end
|