Class: Yoda::Store::Project
- Inherits:
-
Object
- Object
- Yoda::Store::Project
show all
- Extended by:
- Forwardable
- Defined in:
- lib/yoda/store/project.rb,
lib/yoda/store/project/setuper.rb,
lib/yoda/store/project/dependency.rb,
lib/yoda/store/project/rbs_loader.rb,
lib/yoda/store/project/file_finder.rb
Defined Under Namespace
Classes: Dependency, FileFinder, RbsLoader, Setuper
Instance Attribute Summary collapse
Class Method Summary
collapse
Instance Method Summary
collapse
Constructor Details
#initialize(name:, file_tree:) ⇒ Project
Returns a new instance of Project.
56
57
58
59
60
|
# File 'lib/yoda/store/project.rb', line 56
def initialize(name:, file_tree:)
@name = name
@file_tree = file_tree
register_file_tree_events
end
|
Instance Attribute Details
49
50
51
|
# File 'lib/yoda/store/project.rb', line 49
def file_tree
@file_tree
end
|
#name ⇒ String
52
53
54
|
# File 'lib/yoda/store/project.rb', line 52
def name
@name
end
|
Class Method Details
.for_path(root_path, name: nil) ⇒ Object
18
19
20
21
22
|
# File 'lib/yoda/store/project.rb', line 18
def for_path(root_path, name: nil)
file_tree = FileTree.new(base_path: root_path)
name ||= root_path ? File.basename(root_path) : "root"
new(name: name, file_tree: file_tree)
end
|
.temporal(name: "temporal") ⇒ Object
24
25
26
|
# File 'lib/yoda/store/project.rb', line 24
def temporal(name: "temporal")
new(name: name, file_tree: FileTree.new(base_path: nil))
end
|
Instance Method Details
93
94
95
96
97
98
99
100
101
|
# File 'lib/yoda/store/project.rb', line 93
def config
@config ||= begin
if readable_config_file_path
Config.at(readable_config_file_path)
else
Config.from_yaml_data('')
end
end
end
|
73
74
75
|
# File 'lib/yoda/store/project.rb', line 73
def dependency
@dependency ||= Dependency.new(self)
end
|
104
105
106
|
# File 'lib/yoda/store/project.rb', line 104
def file_finder
@file_finder ||= FileFinder.new(self)
end
|
#rbs_loader ⇒ RBS::Environment
78
79
80
|
# File 'lib/yoda/store/project.rb', line 78
def rbs_loader
@rbs_loader ||= RbsLoader.new(self)
end
|
68
69
70
|
# File 'lib/yoda/store/project.rb', line 68
def registry
@registry ||= Registry.for_project(self)
end
|
#root_path ⇒ String?
63
64
65
|
# File 'lib/yoda/store/project.rb', line 63
def root_path
file_tree.base_path
end
|
#setup(rebuild: false) ⇒ Array<BaseError>
88
89
90
|
# File 'lib/yoda/store/project.rb', line 88
def setup(rebuild: false)
setuper.run(rebuild: rebuild)
end
|