class Trackington::ProjectRepository
Public Instance Methods
all(user_id)
click to toggle source
# File lib/trackington/app/projects.rb, line 29 def all(user_id) get_projects(user_id: user_id) end
create(user_id, project_information)
click to toggle source
# File lib/trackington/app/projects.rb, line 5 def create(user_id, project_information) project = Models::Project.new(project_information) project.save project_role = Models::ProjectRole.new(user_id: user_id, project_id: project.id, role_type: :owner) project_role.save sprint = Models::Sprint.new(project_id: project.id, is_backlog: true) sprint.save project.id end
get(project_id)
click to toggle source
# File lib/trackington/app/projects.rb, line 20 def get(project_id) db_project = Models::Project.find(project_id) Project.new(db_project.id, db_project.title, db_project.description, db_project.public) end
public()
click to toggle source
# File lib/trackington/app/projects.rb, line 33 def public get_projects(public: true) end
Private Instance Methods
get_projects(params)
click to toggle source
# File lib/trackington/app/projects.rb, line 39 def get_projects(params) project_ids = Models::ProjectRole .where(params) .select(:project_id) .map(&:project_id) Models::Project.find(project_ids).map do |db_project| Project.new(db_project.id, db_project.title, db_project.description, db_project.public) end end