Class: Knapsack::Allocator
- Inherits:
-
Object
- Object
- Knapsack::Allocator
- Defined in:
- lib/knapsack/allocator.rb
Instance Method Summary collapse
-
#initialize(args = {}) ⇒ Allocator
constructor
A new instance of Allocator.
- #leftover_node_specs ⇒ Object
- #node_specs ⇒ Object
- #report_node_specs ⇒ Object
- #spec_dir ⇒ Object
- #stringify_node_specs ⇒ Object
Constructor Details
#initialize(args = {}) ⇒ Allocator
Returns a new instance of Allocator.
3 4 5 6 7 |
# File 'lib/knapsack/allocator.rb', line 3 def initialize(args={}) @spec_pattern = args[:spec_pattern] || Config.spec_pattern @report_distributor = Knapsack::Distributors::ReportDistributor.new(args) @leftover_distributor = Knapsack::Distributors::LeftoverDistributor.new(args) end |
Instance Method Details
#leftover_node_specs ⇒ Object
13 14 15 |
# File 'lib/knapsack/allocator.rb', line 13 def leftover_node_specs @leftover_node_specs ||= @leftover_distributor.specs_for_current_node end |
#node_specs ⇒ Object
17 18 19 |
# File 'lib/knapsack/allocator.rb', line 17 def node_specs @node_specs ||= report_node_specs + leftover_node_specs end |
#report_node_specs ⇒ Object
9 10 11 |
# File 'lib/knapsack/allocator.rb', line 9 def report_node_specs @report_node_specs ||= @report_distributor.specs_for_current_node end |
#spec_dir ⇒ Object
25 26 27 |
# File 'lib/knapsack/allocator.rb', line 25 def spec_dir @spec_pattern.gsub(/^(.*?)\//).first end |
#stringify_node_specs ⇒ Object
21 22 23 |
# File 'lib/knapsack/allocator.rb', line 21 def stringify_node_specs node_specs.join(' ') end |