Module: TingYun::Support::LibraryDetection
- Defined in:
- lib/ting_yun/support/library_detection.rb
Defined Under Namespace
Classes: Dependent
Class Method Summary collapse
- .defer(&block) ⇒ Object
- .dependency_by_name(name) ⇒ Object
- .detect! ⇒ Object
- .installed?(name) ⇒ Boolean
- .items ⇒ Object
- .items=(new_items) ⇒ Object
Class Method Details
.defer(&block) ⇒ Object
17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
# File 'lib/ting_yun/support/library_detection.rb', line 17 def defer(&block) item = Dependent.new item.instance_eval(&block) if item.name seen_names = @items.map { |i| i.name }.compact if seen_names.include?(item.name) TingYun::Agent.logger.warn("Refusing to re-register LibraryDetection block with name '#{item.name}'") return @items end end @items << item end |
.dependency_by_name(name) ⇒ Object
40 41 42 |
# File 'lib/ting_yun/support/library_detection.rb', line 40 def dependency_by_name(name) @items.find {|i| i.name == name } end |
.detect! ⇒ Object
32 33 34 35 36 37 38 |
# File 'lib/ting_yun/support/library_detection.rb', line 32 def detect! @items.each do |item| if item.dependencies_satisfied? item.execute end end end |
.installed?(name) ⇒ Boolean
44 45 46 47 |
# File 'lib/ting_yun/support/library_detection.rb', line 44 def installed?(name) item = dependency_by_name(name) item && item.executed end |
.items ⇒ Object
49 50 51 |
# File 'lib/ting_yun/support/library_detection.rb', line 49 def items @items end |
.items=(new_items) ⇒ Object
53 54 55 |
# File 'lib/ting_yun/support/library_detection.rb', line 53 def items=(new_items) @items = new_items end |