Class: BrewDG::QueryableDependencies

Inherits:
Delegator
  • Object
show all
Defined in:
lib/brew_dg/queryable_dependencies.rb

Instance Method Summary collapse

Constructor Details

#initialize(dependency_manifests = []) ⇒ QueryableDependencies

Returns a new instance of QueryableDependencies.



6
7
8
9
# File 'lib/brew_dg/queryable_dependencies.rb', line 6

def initialize(dependency_manifests = [])
  super
  @dependency_manifests = dependency_manifests
end

Instance Method Details

#__getobj__Object



32
33
34
# File 'lib/brew_dg/queryable_dependencies.rb', line 32

def __getobj__
  @dependency_manifests
end

#__setobj__(new_dependency_manifests) ⇒ Object



36
37
38
# File 'lib/brew_dg/queryable_dependencies.rb', line 36

def __setobj__(new_dependency_manifests)
  @dependency_manifests = new_dependency_manifests
end

#buildObject



11
12
13
# File 'lib/brew_dg/queryable_dependencies.rb', line 11

def build
  of_type(:build)
end

#of_type(type) ⇒ Object



27
28
29
30
# File 'lib/brew_dg/queryable_dependencies.rb', line 27

def of_type(type)
  __getobj__.find { |d| d.type == type } ||
    DependencyManifest.new(type: type)
end

#optionalObject



23
24
25
# File 'lib/brew_dg/queryable_dependencies.rb', line 23

def optional
  of_type(:optional)
end


19
20
21
# File 'lib/brew_dg/queryable_dependencies.rb', line 19

def recommended
  of_type(:recommended)
end

#requiredObject



15
16
17
# File 'lib/brew_dg/queryable_dependencies.rb', line 15

def required
  of_type(:required)
end