Class: Foobara::Project

Inherits:
Object
  • Object
show all
Defined in:
foobara-0.0.141/projects/foobara/src/project.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(symbol, project_path: nil) ⇒ Project

Returns a new instance of Project.



5
6
7
8
# File 'foobara-0.0.141/projects/foobara/src/project.rb', line 5

def initialize(symbol, project_path: nil)
  self.symbol = symbol
  self.project_path = project_path || "#{__dir__}/../../#{symbol}"
end

Instance Attribute Details

#project_pathObject

Returns the value of attribute project_path.



3
4
5
# File 'foobara-0.0.141/projects/foobara/src/project.rb', line 3

def project_path
  @project_path
end

#symbolObject

Returns the value of attribute symbol.



3
4
5
# File 'foobara-0.0.141/projects/foobara/src/project.rb', line 3

def symbol
  @symbol
end

Instance Method Details

#install!Object



30
31
32
33
34
# File 'foobara-0.0.141/projects/foobara/src/project.rb', line 30

def install!
  if self.module.respond_to?(:install!)
    self.module.install!
  end
end

#loadObject



22
23
24
25
26
27
28
# File 'foobara-0.0.141/projects/foobara/src/project.rb', line 22

def load
  require require_path
  src_dir = "#{project_path}/src"
  if Dir.exist?(src_dir)
    Util.require_directory(src_dir)
  end
end

#moduleObject



18
19
20
# File 'foobara-0.0.141/projects/foobara/src/project.rb', line 18

def module
  Foobara.const_get(module_name)
end

#module_nameObject



14
15
16
# File 'foobara-0.0.141/projects/foobara/src/project.rb', line 14

def module_name
  Util.classify(symbol)
end

#new_project_added(project) ⇒ Object



43
44
45
46
47
# File 'foobara-0.0.141/projects/foobara/src/project.rb', line 43

def new_project_added(project)
  if self.module.respond_to?(:new_project_added)
    self.module.new_project_added(project)
  end
end

#require_pathObject



10
11
12
# File 'foobara-0.0.141/projects/foobara/src/project.rb', line 10

def require_path
  "foobara/#{symbol}"
end

#reset_allObject



36
37
38
39
40
41
# File 'foobara-0.0.141/projects/foobara/src/project.rb', line 36

def reset_all
  Foobara.raise_if_production!("reset_all")
  if self.module.respond_to?(:reset_all)
    self.module.reset_all
  end
end