Class: PuppetLibrary::Forge::Multi
- Inherits:
-
Object
- Object
- PuppetLibrary::Forge::Multi
- Defined in:
- lib/puppet_library/forge/multi.rb
Instance Method Summary collapse
- #add_forge(forge) ⇒ Object
- #get_module_buffer(author, name, version) ⇒ Object
- #get_module_metadata(author, name) ⇒ Object
- #get_module_metadata_with_dependencies(author, name, version) ⇒ Object
- #search_modules(query) ⇒ Object
Instance Method Details
#add_forge(forge) ⇒ Object
22 23 24 |
# File 'lib/puppet_library/forge/multi.rb', line 22 def add_forge(forge) forges << forge end |
#get_module_buffer(author, name, version) ⇒ Object
34 35 36 37 38 39 40 41 42 43 |
# File 'lib/puppet_library/forge/multi.rb', line 34 def get_module_buffer(, name, version) forges.each do |forge| begin return forge.get_module_buffer(, name, version) rescue ModuleNotFound # Try the next one end end raise ModuleNotFound end |
#get_module_metadata(author, name) ⇒ Object
45 46 47 48 49 50 51 52 53 54 55 56 57 |
# File 'lib/puppet_library/forge/multi.rb', line 45 def (, name) = forges.inject([]) do |, forge| begin << forge.(, name) rescue ModuleNotFound end end raise ModuleNotFound if .empty? .deep_merge.tap do || ["releases"] = ["releases"].unique_by { |release| release["version"] } end end |
#get_module_metadata_with_dependencies(author, name, version) ⇒ Object
59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 |
# File 'lib/puppet_library/forge/multi.rb', line 59 def (, name, version) = [] forges.each do |forge| begin << forge.(, name, version) rescue ModuleNotFound # Try the next one end end raise ModuleNotFound if .empty? .deep_merge.tap do || .each do |module_name, releases| [module_name] = releases.unique_by { |release| release["version"] } end end end |
#search_modules(query) ⇒ Object
26 27 28 29 30 31 32 |
# File 'lib/puppet_library/forge/multi.rb', line 26 def search_modules(query) all_results = forges.map do |forge| forge.search_modules(query) end.flatten SearchResult.merge_by_full_name(all_results) end |