Module: HasProjects

Included in:
GeoEngineer::Environment
Defined in:
lib/geoengineer/utils/has_projects.rb

Overview

HasProjects provides methods for a class to contain and query a set of projects

Instance Method Summary collapse

Instance Method Details

#all_project_resourcesObject



20
21
22
# File 'lib/geoengineer/utils/has_projects.rb', line 20

def all_project_resources
  projects.values.map(&:all_resources).flatten
end

#create_project(org, name, &block) ⇒ Object

Factory for creating projects



10
11
12
13
14
15
16
17
18
# File 'lib/geoengineer/utils/has_projects.rb', line 10

def create_project(org, name, &block)
  # do not add the project a second time
  repository = "#{org}/#{name}"
  return projects[repository] if projects.key?(repository)

  proj = GeoEngineer::Project.new(org, name, self, &block)
  projects[repository] = proj
  proj
end

#projectsObject



5
6
7
# File 'lib/geoengineer/utils/has_projects.rb', line 5

def projects
  @_projects ||= {}
end