Class: PlugemsDeploy::DependencyHandler
- Inherits:
-
Object
- Object
- PlugemsDeploy::DependencyHandler
- Defined in:
- lib/plugems_deploy/dependency_handler.rb
Constant Summary collapse
- MAX_DEPENDENCY_DEPTH =
10000
Instance Method Summary collapse
- #collect_dependencies(start_point, show) ⇒ Object
- #dependencies(name, version, deps_only = false, show = false) ⇒ Object
-
#initialize(source = local_cache) ⇒ DependencyHandler
constructor
A new instance of DependencyHandler.
Constructor Details
#initialize(source = local_cache) ⇒ DependencyHandler
Returns a new instance of DependencyHandler.
10 11 12 13 |
# File 'lib/plugems_deploy/dependency_handler.rb', line 10 def initialize(source = local_cache) @gems = [] @source = source end |
Instance Method Details
#collect_dependencies(start_point, show) ⇒ Object
26 27 28 29 30 31 32 33 34 35 36 37 38 |
# File 'lib/plugems_deploy/dependency_handler.rb', line 26 def collect_dependencies(start_point, show) fail("Circular dependencies?\n#{ @gems.to_yaml }") if @gems.size > MAX_DEPENDENCY_DEPTH show_data("#{ start_point[:name] }: [ ", show) query_dependencies(start_point).each do |gem| mark_dependency(gem) show_data(" { #{ gem[:name] } => #{ gem[:version] } }", show) collect_dependencies(gem, show && (show + 4)) end show_data("]", show) end |
#dependencies(name, version, deps_only = false, show = false) ⇒ Object
15 16 17 18 19 20 21 22 23 24 |
# File 'lib/plugems_deploy/dependency_handler.rb', line 15 def dependencies(name, version, deps_only = false, show = false) gem = gem_data(query_gem_spec(name, version)) mark_dependency(gem) unless deps_only == 'true' collect_dependencies(gem, show) compacted_collected_dependencies end |