Class: Foobara::Project
- Inherits:
-
Object
- Object
- Foobara::Project
- Defined in:
- foobara-0.7.3/projects/typesystem/projects/project/src/project.rb,
foobara-0.7.3/projects/typesystem/projects/project/lib/foobara/project.rb
Instance Attribute Summary collapse
-
#eager_load_src ⇒ Object
Returns the value of attribute eager_load_src.
-
#project_path ⇒ Object
Returns the value of attribute project_path.
-
#symbol ⇒ Object
Returns the value of attribute symbol.
Instance Method Summary collapse
-
#initialize(symbol, project_path: nil, eager_load_src: true) ⇒ Project
constructor
A new instance of Project.
- #install! ⇒ Object
- #load ⇒ Object
- #module ⇒ Object
- #module_name ⇒ Object
- #new_project_added(project) ⇒ Object
- #require_path ⇒ Object
- #reset_all ⇒ Object
- #reset_completed ⇒ Object
- #start! ⇒ Object
Constructor Details
#initialize(symbol, project_path: nil, eager_load_src: true) ⇒ Project
Returns a new instance of Project.
5 6 7 8 9 |
# File 'projects/typesystem/projects/project/src/project.rb', line 5 def initialize(symbol, project_path: nil, eager_load_src: true) self.eager_load_src = eager_load_src self.symbol = symbol self.project_path = project_path || "#{__dir__}/../../#{symbol}" end |
Instance Attribute Details
#eager_load_src ⇒ Object
Returns the value of attribute eager_load_src.
3 4 5 |
# File 'projects/typesystem/projects/project/src/project.rb', line 3 def eager_load_src @eager_load_src end |
#project_path ⇒ Object
Returns the value of attribute project_path.
3 4 5 |
# File 'projects/typesystem/projects/project/src/project.rb', line 3 def project_path @project_path end |
#symbol ⇒ Object
Returns the value of attribute symbol.
3 4 5 |
# File 'projects/typesystem/projects/project/src/project.rb', line 3 def symbol @symbol end |
Instance Method Details
#install! ⇒ Object
35 36 37 38 39 |
# File 'projects/typesystem/projects/project/src/project.rb', line 35 def install! if self.module.respond_to?(:install!) self.module.install! end end |
#load ⇒ Object
23 24 25 26 27 28 29 30 31 32 33 |
# File 'projects/typesystem/projects/project/src/project.rb', line 23 def load require require_path if eager_load_src src_dir = "#{project_path}/src" if Dir.exist?(src_dir) Util.require_directory(src_dir) end end end |
#module ⇒ Object
19 20 21 |
# File 'projects/typesystem/projects/project/src/project.rb', line 19 def module Foobara.const_get(module_name) end |
#module_name ⇒ Object
15 16 17 |
# File 'projects/typesystem/projects/project/src/project.rb', line 15 def module_name Util.classify(symbol) end |
#new_project_added(project) ⇒ Object
59 60 61 62 63 |
# File 'projects/typesystem/projects/project/src/project.rb', line 59 def new_project_added(project) if self.module.respond_to?(:new_project_added) self.module.new_project_added(project) end end |
#require_path ⇒ Object
11 12 13 |
# File 'projects/typesystem/projects/project/src/project.rb', line 11 def require_path "foobara/#{symbol}" end |
#reset_all ⇒ Object
51 52 53 54 55 56 57 |
# File 'projects/typesystem/projects/project/src/project.rb', line 51 def reset_all Foobara.raise_if_production! if self.module.respond_to?(:reset_all) self.module.reset_all end end |
#reset_completed ⇒ Object
46 47 48 49 |
# File 'projects/typesystem/projects/project/src/project.rb', line 46 def reset_completed mod = self.module mod.reset_completed if mod.respond_to?(:reset_completed) end |
#start! ⇒ Object
41 42 43 44 |
# File 'projects/typesystem/projects/project/src/project.rb', line 41 def start! mod = self.module mod.start! if mod.respond_to?(:start!) end |