Module: Build::Dependency::Provider
- Defined in:
- lib/build/dependency/provider.rb
Instance Method Summary collapse
- #dependencies ⇒ Object
-
#depends(*names, **options) ⇒ Object
Add one or more dependencies to the provider.
- #depends?(name) ⇒ Boolean
- #filter(dependency) ⇒ Object
- #freeze ⇒ Object
-
#priority ⇒ Object
The default priority.
-
#priority=(value) ⇒ Object
Assign a priority.
-
#provides(*names, **aliases, &block) ⇒ Object
Add one or more provisions to the provider.
-
#provides?(dependency) ⇒ Boolean
Does this unit provide the named thing?.
- #provision_for(dependency) ⇒ Object
- #provisions ⇒ Object
- #resolution_for(dependency) ⇒ Object
Instance Method Details
#dependencies ⇒ Object
136 137 138 |
# File 'lib/build/dependency/provider.rb', line 136 def dependencies @dependencies ||= Set.new end |
#depends(*names, **options) ⇒ Object
Add one or more dependencies to the provider.
182 183 184 185 186 |
# File 'lib/build/dependency/provider.rb', line 182 def depends(*names, **) names.each do |name| dependencies << Depends.new(name, **) end end |
#depends?(name) ⇒ Boolean
188 189 190 |
# File 'lib/build/dependency/provider.rb', line 188 def depends?(name) dependencies.include?(name) end |
#filter(dependency) ⇒ Object
140 141 142 |
# File 'lib/build/dependency/provider.rb', line 140 def filter(dependency) provisions.select{|name, provision| dependency.match?(name)} end |
#freeze ⇒ Object
111 112 113 114 115 116 117 118 |
# File 'lib/build/dependency/provider.rb', line 111 def freeze return unless frozen? provisions.freeze dependencies.freeze super end |
#priority ⇒ Object
The default priority.
126 127 128 |
# File 'lib/build/dependency/provider.rb', line 126 def priority @priority ||= 0 end |
#priority=(value) ⇒ Object
Assign a priority.
121 122 123 |
# File 'lib/build/dependency/provider.rb', line 121 def priority= value @priority = value end |
#provides(*names, **aliases, &block) ⇒ Object
Add one or more provisions to the provider.
166 167 168 169 170 171 172 173 174 |
# File 'lib/build/dependency/provider.rb', line 166 def provides(*names, **aliases, &block) names.each do |name| provisions[name] = Provision.new(name, self, block) end aliases.each do |name, dependencies| provisions[name] = Alias.new(name, self, Array(dependencies)) end end |
#provides?(dependency) ⇒ Boolean
Does this unit provide the named thing?
145 146 147 |
# File 'lib/build/dependency/provider.rb', line 145 def provides?(dependency) provisions.key?(dependency.name) end |
#provision_for(dependency) ⇒ Object
149 150 151 |
# File 'lib/build/dependency/provider.rb', line 149 def provision_for(dependency) return provisions[dependency.name] end |
#provisions ⇒ Object
131 132 133 |
# File 'lib/build/dependency/provider.rb', line 131 def provisions @provisions ||= {} end |
#resolution_for(dependency) ⇒ Object
153 154 155 |
# File 'lib/build/dependency/provider.rb', line 153 def resolution_for(dependency) return Resolution.new(provision_for(dependency), dependency) end |