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.
54
55
56
57
58
|
# File 'lib/yoda/store/project.rb', line 54
def initialize(name:, file_tree:)
@name = name
@file_tree = file_tree
register_file_tree_events
end
|
Instance Attribute Details
47
48
49
|
# File 'lib/yoda/store/project.rb', line 47
def file_tree
@file_tree
end
|
#name ⇒ String
50
51
52
|
# File 'lib/yoda/store/project.rb', line 50
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
91
92
93
94
95
96
97
98
99
|
# File 'lib/yoda/store/project.rb', line 91
def config
@config ||= begin
if readable_config_file_path
Config.at(readable_config_file_path)
else
Config.from_yaml_data('')
end
end
end
|
71
72
73
|
# File 'lib/yoda/store/project.rb', line 71
def dependency
@dependency ||= Dependency.new(self)
end
|
81
82
83
|
# File 'lib/yoda/store/project.rb', line 81
def environment
@environment ||= Model::Environment.from_project(self)
end
|
102
103
104
|
# File 'lib/yoda/store/project.rb', line 102
def file_finder
@file_finder ||= FileFinder.new(self)
end
|
#rbs_loader ⇒ RBS::Environment
76
77
78
|
# File 'lib/yoda/store/project.rb', line 76
def rbs_loader
@rbs_loader ||= RbsLoader.new(self)
end
|
66
67
68
|
# File 'lib/yoda/store/project.rb', line 66
def registry
@registry ||= Registry.for_project(self)
end
|
#root_path ⇒ String?
61
62
63
|
# File 'lib/yoda/store/project.rb', line 61
def root_path
file_tree.base_path
end
|
#setup(rebuild: false) ⇒ Array<BaseError>
86
87
88
|
# File 'lib/yoda/store/project.rb', line 86
def setup(rebuild: false)
setuper.run(rebuild: rebuild)
end
|